python匿名函數lambda用法

介紹匿名函數以前不妨先看看這兩個函數:express

def add(x,y): return x+y print(add(1,2))   #3
f=lambda x,y:x+y
print(f(1,2))

上面這兩段代碼實現的功能是徹底同樣的。第二段代碼裏面:lambda x,y:x+y  這就是一個函數,因爲沒有函數名稱,因此稱匿名函數。函數

下面仔細介紹一下匿名函數:spa

1、匿名函數:沒有函數名字。用lambda聲明。 2、匿名函數的格式: lambda arg1,arg2,.....argn:expression    冒號是分隔符,冒號前是函數的參數,冒號後帶上一個表達式。 三、匿名函數不須要用return。後面的表達式就是返回值
四、調用方法:將匿名函數賦值給一個變量,而後這個變量就能夠像一個正常的函數同樣使用

 

# 無參數:
f=lambda :'abc'
print(f())    #'abc'

#帶多個參數的
f=lambda a,b,c: a+b+c print(f(1,2,3))   #6

#帶默認參數
f=lambda a,b,c=4: a+b+c print(f(1,2))    #7

 

匿名函數的高級使用技巧:結合map.reduce,filter使用:code

from functools import reduce data=[1,2,3,4,5,6,7,8,9,10] print(reduce(lambda x,y:x+y,data))   #55

  

data=[1,2,3,4,5,6,7,8,9,10] print(list(map(lambda x:x*x,data))) #輸出爲[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
相關文章
相關標籤/搜索