python中的lambda函数
生活随笔
收集整理的這篇文章主要介紹了
python中的lambda函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近碰見太多次lambda函數了,那就來詳細解釋一下該函數。
lambda函數
我們先對lambda函數進行一個簡單的介紹
- lambda函數是一種匿名函數,即沒有名字的函數
- 使用lambda保留字定義,函數名是返回結果
- lambda函數的函數體只是一個表達式
- lambda函數用于定義簡單的、能夠在一行內表示的函數
- lambda表達式” : “后面,只能有一個表達式,def則可以有多個。
- lambda一般用來定義簡單的函數,而def可以定義復雜的函數
先來看一個例子:
g=lambda x:x+1 print(g(1)) #結果為2可以這樣認為,lambda作為一個表達式,定義了一個匿名函數。等價于:
def g(x):return x+1非常容易理解,在這里lambda簡化了函數定義的書寫形式。是代碼更為簡潔,但是使用函數的定義方式更為直觀,易理解。
可傳入多個參數
g=lambda x,y,z:x+y+z*2 print(g(1,2,3)) #結果為9#也可直接傳遞參數 (lambda x:x**2)(3) #結果為9lambda表達式會返回一個函數對象,如果沒有變量接受這個返回值的話,它很快就會被丟棄。也正是由于lambda只是一個表達式,所以它可以直接作為list和dict的成員
list_a = [lambda a: a**3, lambda b: b**3] print(type(list_a[0]))結果為:
與map函數進行使用
a = map(lambda x:x**2,range(5)) print(list(a))結果為:
總結
lambda函數使代碼結構更加緊湊,但卻使代碼看起來不是那么清晰。
參考資料
https://zhuanlan.zhihu.com/p/80960485
總結
以上是生活随笔為你收集整理的python中的lambda函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java将分钟转为小时
- 下一篇: 如何提升企业形象?写字楼门禁是第一关