2016-11-06 50 views
-2

幫助我理解Lambda函數,我檢查了很多代碼,但仍然無法理解它。也許有一個簡單的例子,在此先感謝。瞭解Lambda函數的工作原理

+0

https://www.google.com/search?sourceid=chrome-psyapi2&ion=1&espv=2&ie=UTF-8&q=python%20lambda%20function&oq=python%20lambda%20function&aqs=chrome..69i57j0l5.3537j0j7 –

+0

的https: //docs.python.org/3/tutorial/controlflow.html#lambda-expressions –

+0

http://www.diveintopython.net/power_of_introspection/lambda_functions.html –

回答

1

假設你想在價值方在列表中,富= [1,2,3,4,5]

for i in range(len(a)): 
    a[i] = a[i] * a[i] 

你可以使用拉姆達寫

map(lambda x: x * x, foo) 

,如果你要除盡只有元素3,然後

filter(lambda x: x % 3 == 0, foo) 

基本上它拯救你寫一個for循環或把它更好地寫在一個有效的WA年。

+0

哦,我現在看到,順便說一下,「x:」這個部分是否意味着像循環一樣? –

+0

@BlueMonday這個lambda完全等價於'def some_function(x):return x * x'。請注意,'x'是一個參數,'x * x'是使用該參數的表達式。這裏發生的所有事情都是因爲沒有定義一個單獨的函數,代碼節省了一點空間。它很有用,因爲它將感興趣的部分('x * x')移近它的使用(地圖)。 – tdelaney