標籤:lambda
Lambda運算式
匿名函數
-lamdba函數是一種快速定義單行的最小函數,是從Lisp借用來的,可以用在任何需要函數的地方。
例子:
函數:
>>> def fun(x,y): ... return x*y ... >>> fun(23,2) 46 lambda
lambda x,y:x*y
#lambda 函數; x第一個參數,y第二個參數 ;x*y操作類型;如果使用函數返回的對象,還需要一個接受的變數>>> a=lambda x,y:x*y>>> a(2,3)6
優勢:
使用python編寫一些執行指令碼時,lambda可以省去定義函數的過程,讓代碼更加精簡。
對於抽象,不需要複用的函數,定義名稱時比較困難,使用lambda不需要考慮名稱的命名;
使用lambda 可以讓代碼更加容易理解;
lambda 基礎
lambda 語句中,冒號前是參數,可以用多個,用逗號分隔,冒號右邊是傳回值。
lambda 語句構建的其實是一個函數對象;;
>>> lambda x,y:x*y<function <lambda> at 0x7f9bed0d3578>>>> a=lambda x,y:x*y>>> a<function <lambda> at 0x7f9bed0e58c0>>>> a(2,2)4
lambda應用執行個體:
reduce 為逐次操作list裡的每項,接受的參數為2個,最後返回的為一個結果
乘積>>> l=range(1,6)>>> l[1, 2, 3, 4, 5]>>> def f(x,y):... return x*y... >>> reduce (f,l) #將函數f,作用於l序列120轉換>>> f=lambda x,y:x*y>>> reduce (f,l)120>>> reduce(lambda x,y:x*y,l) #l列表120>>>
本文出自 “思想大於技術” 部落格,謝絕轉載!
python 基礎 學習 lambda