class?Person(object):
????pass
p1?=?Person()
p1.name?=?'Bart'
p2?=?Person()
p2.name?=?'Adam'
p3?=?Person()
p3.name?=?'Lisa'
L1?=?[p1,?p2,?p3]
L2?=?sorted(L1,key=lambda?p?:?p.name?)?#這里為什么要加上key=???
print?L2[0].name
print?L2[1].name
print?L2[2].name
1 回答

kngines
TA貢獻10條經(jīng)驗 獲得超2個贊
sorted(data,?cmp=None,?key=None,?reverse=False)?
key 是帶一個參數(shù)的函數(shù), 用來為每個元素提取比較值. 默認(rèn)為 None, 即直接比較每個元素.
(1)lambda只是一個表達式,函數(shù)體比def簡單很多。
(2)lambda的主體是一個表達式,而不是一個代碼塊。僅僅能在lambda表達式中封裝有限的邏輯進去。
(3)lambda表達式是起到一個函數(shù)速寫的作用。允許在代碼內(nèi)嵌入一個函數(shù)的定義。
PS:lambda的使用 使 把L1中的name循環(huán)賦值給 key的過程簡寫
添加回答
舉報
0/150
提交
取消