lambda 函數是一種快速定義單行的最小函數,可以用在任何需要函數的地方
常規版本:
def fun(x,y) return x*y
lambda版本:
r = lambda x,y:x*y print r(2,3)
格式:
lambda 參數列表:return [表達式] 變量
由於lambda返回的是函數對象(構建的是一個函數對象),所以需要定義一個變量去接收
匿名函數優點:
- 使用Python寫一些腳本時,使用lambda可以省去定義函數的過程,讓代碼更加精簡。
- 對於一些抽象的,不會被別的地方再重復使用的函數,有時候函數起個名字也是個難題,使用lambda不需要考慮命名的問題
- 使用lambda在某些時候然后代碼更容易理解
搭配reduce的應用
reduce(fun,list)
reduce依次把list中的數字賦值給fun進行計算
注意fun必須是連個數字間的運算,list必須是整型數字
例:求1到100的累加
reduce (lambda x,y:x + y,xrange(1,101)
