這篇文章主要介紹lambda函數怎么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
lambda函數也叫匿名函數,就是沒有函數名的函數。lambda表達式基于數學中的λ演算得名,直接對應于其中的lambda抽象。
lambda [arg1 [,arg2,.....argn]]:expression
冒號前面的是參數,可以有多個,用逗號隔開,冒號右邊的是返回值。lambda語句構建的其實是一個函數對象。
例如下面這段代碼,實現兩個數相乘:
def fun(x, y): return x * y print(fun(2,3)) # 6
如果我們使用lambda來寫的話,一個lambda 表達式就可以搞定,不需要使用def :
fun = lambda x, y: x * y print(fun(2, 3)) # 6
lambda相較于普通函數來說更加簡潔,但是卻不能共享在別的地方調用。所以一般是這個代碼不需要別的地方復用,可以考慮使用lambda,這樣的話可以省略給函數命名。
Python提供了很多函數式編程的特性,如filter、reduce、map、sorted等都支持函數作為參數,lambda函數就可以應用在函數式編程中。
# filter list1 = [3, 12, 9, 25, 17, 36, 14, 17, 27] list2 = filter(lambda x: x % 3 == 0, list1) print(list(list2)) # [3, 12, 9, 36, 27] # map list1 = [3, 12, 9, 25, 17, 36, 14, 17, 27] list2 = map(lambda x: x * 10, list1) print(list(list2)) # [30, 120, 90, 250, 170, 360, 140, 170, 270] # reduce from functools import reduce list1 = [3, 12, 9, 25, 17, 36, 14, 17, 27] print(reduce(lambda x, y: x * y, list1)) # 31854967200
總結lambda 的使用其實很簡單,但是也不要盲目去使用lambda ,看是否需要再使用它。
以上是“lambda函數怎么用”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。