标签: python-3.7
def foo(): lst = [] for i in range(4): lst.append(lambda: i) print(lst[i]()) print([f() for f in lst]) foo()
这是上面代码的输出
0 1 2 3 [3, 3, 3, 3]
为什么在for循环内的第一个打印[0,4)而在for循环外的第一个打印[3,3,3,3]
[0,4)
[3,3,3,3]