- 150 名前:デフォルトの名無しさん [2009/02/22(日) 19:52:09 ]
- pythonのlambdaで実験していて、以下の問題に突き当たりました。
識者の方がいらっしゃいましたら、 ご教授願えるとありがたいです。 //無名関数をn個リストにして返す関数 def make_funcs(n): fn_list = [] for i in range(n): fn_list.append(lambda x : i*x) return fn_list //code block fL = make_funcs(5) for f in fL: print(f(10)) //実行結果 40 40 40 40 //期待する実行結果 0 10 20 30 40 for文中のiが上手く認識されていないように思えます。 Schemeのクロージャとは振る舞いが異なるのでしょうか?
|

|