關鍵字lambda用於定義一種特殊的函數——匿名函數,又稱lambda函數。匿名函數並非沒有名字,而是將函數名作為函數結果返回。
其語法格式如下:
函數名 = lambda[參數列表]:表達式
簡單地說,lambda函數用於定義簡單的、能夠在一行內表示的函數,返回一個函數類型。
sum = lambda arg1,arg2:arg1+arg2 # 定義lambda函數
print('相加后的值為:',sum(10,20)) # 調用sum函數
運行結果:
相加后的值為:30
lambda函數常用在臨時需要一個類似於函數的功能,但又不想定義函數的場合。例如,作為內置函數sorted()和列表方法sort()的key參數。
stu = [
{'num':'201801','name':'Wangwu','score':89},
{'num':'201802','name':'Liujun','score':95},
{'num':'201803','name':'Limeng','score':85}
]
stu.sort(key = lambda x:x['score']) # 按成績排序
for s in stu:
print('學號:',s['num'],'姓名:',s['name'],'成績:',s['score']) # 輸出列表
運行結果:
學號:201803 姓名:Limeng 成績:85
學號:201801 姓名:Wangwu 成績:89
學號:201802 姓名:Liujun 成績:95