一、介紹:
Lambda函數,是一個匿名函數,創建語法:
lambda parameters:express
parameters:可選,如果提供,通常是逗號分隔的變量表達式形式,即位置參數。
expression:不能包含分支或循環(但允許條件表達式),也不能包含return(或yield)函數。如果為元組,則應用圓括號將其包含起來。
調用lambda函數,返回的結果是對表達式計算產生的結果。
1.lambda函數:
先來看一個簡單的例子:
lambda x,y : x+y (x,y分別代表2個參數,冒號后面的x+y是函數的返回值)
x和y是函數的兩個參數,冒號后面的表達式是函數的返回值,你能一眼看出這個函數就是是在求兩個變量的和,但作為一個函數,沒有名字如何使用呢?
這里我們暫且給這個匿名函數綁定一個名字,這樣使得我們調用匿名函數成為可能
>>> add = lambda x, y : x+y
>>> add
<function <lambda> at 0x102bc2140>
>>> add(1,2)
3
此時,Lmabda等同於常規類型的函數,但是匿名函數一般只適應於簡單的函數,如果復雜函數用lambda寫的話,讀起來就晦澀難懂,就沒有意義了。
2.用lambda進行排序
1)單一列表:(其實可以直接使用sorted函數實現)
2)列表中嵌套字典
3)列表嵌套列表,且根據2個字段進行排序
分享,以上。