a = [] a.append(lambda x:x**0)
a.append(lambda x:x**1)
a[0](2), a[1](2), a[2](2)... spits out 1, 2, 4, ...
b=[]
for i in range(4)
b.append(lambda x:x**i)
b[0](2), b[1](2), b[2](2)... spits out 8, 8, 8, ...
在for循環中,i被傳遞到lambda作爲一個變量,所以當我調用它,i的最後一個值是所使用的代碼,而不是運行因爲它與[]。 (即b [0]應該使用x^1,b [1]應該使用x^2,...)使用價值
如何告訴lambda拿起i的值而不是變量i本身。
-1:Lambda表達式:-(。只需定義一個函數,就可以清楚發生了什麼。 – 2009-04-17 14:52:41
在引用(僞)代碼之前,我會建議您在提問時解釋您的問題/情況。 – physicsmichael 2009-04-17 18:30:17