【发布时间】:2011-10-07 21:41:19
【问题描述】:
我试图从一个函数返回一个函数列表,每个函数都使用外部范围的变量。这是行不通的。这是一个演示正在发生的事情的示例:
a = []
for i in range(10):
a.append(lambda x: x+i)
a[1](1) # returns 10, where it seems it should return 2
为什么会发生这种情况,如何在 python 2.7 中解决它?
【问题讨论】:
标签: python functional-programming scope closures