初心者の質問のように思えるかもしれませんが(そうかもしれません)、なぜ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
に格納されているさまざまな関数がある場合:
>>aaa
[<function <lambda> at 0x100499d70>, <function <lambda> at 0x100499e60>, <function <lambda> at 0x100499ed8>, <function <lambda> at 0x100499de8>, <function <lambda> at 0x10049f050>]
または、Python ドキュメントで本当に重要なことを見逃していませんか?