こちらのTweetが Python.jp slack でちょっと話題になっていた。 どういうこと? pic.twitter.com/BxyyWbyvQo— ahuglajbclajep (@ahuglajbclajep) 2018年1月24日 次のようなコードだ >>> a = [lambda: print(i) for i in range(3)] >>> for i in a: i() 2 2 2 結論としては cocoatomo さんの書かれているように、変数の評価タイミングの問題で、 初めまして. そこは Python のループでよくハマるポイントで, i の値の評価が後で行われるのが混乱の原因です. ループの本体の中で一度 i を別の変数に入れるなどして, 評価を走らせると回避できます. FAQ → https://t.co/5iCqdIIhUZ— tomo🐧 (@cocoat