【发布时间】:2009-07-10 01:01:25
【问题描述】:
这里发生了什么?我正在尝试创建一个函数列表:
def f(a,b):
return a*b
funcs = []
for i in range(0,10):
funcs.append(lambda x:f(i,x))
这不是我所期望的。我希望该列表的行为如下:
funcs[3](3) = 9
funcs[0](5) = 0
但列表中的所有函数似乎都是相同的,并且将固定值设置为 9:
funcs[3](3) = 27
funcs[3](1) = 9
funcs[2](6) = 54
有什么想法吗?
【问题讨论】: