python lambda用法


一、lambda函數的語法

 lambda語句中,冒號前是參數,可以有0個或多個,用逗號隔開,冒號右邊是返回值。lambda語句構建的其實是一個函數對象。

 1》無參數:

 

f = lambda:'Hello python lambda'
f()
#'Hello python lambda'

 

 

 2》有參數,無默認值

f = lambda x,y: x*y
f(6,7)
#42

  

 3》有參數,有默認值

f = lambda x=5, y=8: x*y
f()
#40
f(5,6)
#30

  

 4》和map, reduce, filter連用

foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]

print filter(lambda x: x % 3 == 0, foo)#python 2.x
list( filter(lambda x: x % 3 == 0, foo) )#python 3.x
#[18, 9, 24, 12, 27]

print map(lambda x: x * 2 + 10, foo)#python 2.x
list( map(lambda x: x * 2 + 10, foo) )#python 3.x
#[14, 46, 28, 54, 44, 58, 26, 34, 64]

from functools import reduce#python 3.x need import reduce
reduce(lambda x, y: x + y, foo)
#139

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM