例えば下記では、fruitsリストの各要素をprintする関数のリストを動的に生成しようとしています。
python
1fruits = ["apple", "orange", "banana"] 2functions = [lambda:print(fruit) for fruit in fruits] 3for f in functions: 4 f()
期待する出力
apple orange banana
実際の出力
banana banana banana
ループ後にfruitの内容が評価された上でlambdaが定義されるらしく、
出力内容がいずれもbananaになってしまいます。
「期待する出力」を満たすように、各要素を出力する関数のリストを作る方法はありますでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/12 04:27