Skip to main content
 首页 » 编程设计

Python 和 lambda 函数

2025年05月04日17jackei

<分区>

可能看起来像是一个傻瓜问题(myabe 确实如此),但为什么 python 会这样:

>>>a = [] 
>>>for i in xrange(5): 
...    a.append(lambda: i + 1) 
 
>>>a[0]() 
5 
>>>a[1]() 
5 
>>>a[2]() 
5 
>>>a[3]() 
5 
>>>a[4]() 
5 

当a中存储了不同的函数时:

>>aaa 
[<function <lambda> at 0x100499d70>, <function <lambda> at 0x100499e60>, <function <lambda> at 0x100499ed8>, <function <lambda> at 0x100499de8>, <function <lambda> at 0x10049f050>] 

还是我错过了 python 文档中非常重要的内容?