㈠ python里students.sort(key=lambda x: x['name']),兩個x的意思是什麼
lambda x:x ['name']是一個匿名函數(俗稱lambda表達式),冒號前面的x是函數的參數,sort函數會把列表的每個字典傳給x,而x['name']是函數的函數體,意思是返回字典x的name鍵的值。
這個代碼的意思就是按列表中每個字典的name鍵的升序來對列表排序。
其實,students.sort(key=lambda x:x['name'])就是相當於這樣:
#先定義一個函數
def k(x):return x['name']
#key按關鍵字傳參排序
students.sort(key=k)
㈡ Python 匿名函數lambda是什麼
在Python語言中除了def語句用來定義函數之外,還可以使用匿名函數lambda,它是Python一種生成函數對象的表達式形式。匿名函數通常是創建了可以被調用的函數,它返回了函數,而並沒有將這個函數命名。lambda有時被叫做匿名函數也就是這個原因,需要一個函數,又不想動腦筋去想名字,這就是匿名函數。
#-*-coding:utf-8-*-
#__author__="www.iplaypy.com"
#普通python函數
deffunc(a,b,c):
returna+b+c
printfunc(1,2,3)
#返回值為6
#lambda匿名函數
f=lambdaa,b,c:a+b+c
printf(1,2,3)
#返回結果為6
#注意觀察上面的Python示例代碼,f=lambdaa,b,c:a+b+c中的關鍵字lambda表示匿名函數,
#冒號:之前的a,b,c表示它們是這個函數的參數。
#匿名函數不需要return來返回值,表達式本身結果就是返回值。