包含函数对象的列表(唯一),调用时返回相同的值?

时间:2016-10-19 18:12:26

标签: python list python-3.x lambda

我有这个列表包含具有不同传递值的函数对象, 但最终会打印相同的值。

>>> a=[]
>>> for i in range(5):
        a.append(lambda x:i**x)


>>> a
[<function <lambda> at 0x02F6B540>, <function <lambda> at 0x02F86E40>,
<function <lambda> at 0x02FBDED0>, <function <lambda> at 0x02FBDF18>,
<function <lambda> at 0x02FBDF60>]

>>> a[0]
<function <lambda> at 0x02F6B540>
>>> a[0](5)
1024
>>> a[1](5)
1024
>>> a[2](5)
1024

对于每次迭代,列表应该为每个lambda

包含i

0 个答案:

没有答案