【发布时间】:2021-05-08 09:55:40
【问题描述】:
以这段代码sn-p为例:
a = []
for x in range(2):
a.append(lambda: print(x))
print(a[0](), a[1]())
输出是:
1 1
但我预计会是这样
0 1
我该如何解决这个问题?
【问题讨论】:
-
尝试将
del x放在for loop和最后一个print statement之间。当您执行 lambda 时,它正在寻找变量 x,它的最新值为 1。
标签: python python-3.x