3

リスト内包表記内でラムダ関数をいじっていて、奇妙な動作を見つけました

x = [(lambda x: i) for i in range(3)]

print(x[0](0)) #print 2 instead of 0
print(x[1](0)) #print 2 instead of 1
print(x[2](0)) #print 2

結果が私が期待するものではない理由を誰かが説明できますか?

4

1 に答える 1