0
バインドされた値に入力番号を追加して、合計関数のリストを返す関数を書く必要があります。これは私がやったことです:2,3,4,5,6が、それは問題では "I" である6,6,6,6,6ジェネレータと実際の変数の値
です:
def addition_range(start, end):
if start >= end: return None
#res = ((lambda x: x + i) for i in range(start, end)) #1
res = [ (lambda x: x + i) for i in range(start, end) ] #2
return res
for i in addition_range(0, 5): print(i(2))
出力は次のようにする必要があります私が関数を呼び出すとき、リストの生成中に使用される値ではなく、実際の値i(4)を使用します。問題は(#1)の代わりに(#2)を使って簡単に解決できますが、(#2)の解決策はありますか?試しました
res = [ (lambda x: x + copy.deepcopy(i)) for i in range(start, end) ]
しかし、それは役に立ちません。
ありがとうございます。
のWinXP + Pythonの3.2
ありがとう、それは動作します! – fogbit