比方說,我定義列表的lol
列表:很難理解lambda函數在排序
lol = [['malasia', 0.02, 56.3], ['chile', 0.03, 34.9],
['hungria', 0.01, 45.9], ['ahumada', 0.001, 1]]
然後,
lol.sort(lambda x, y: cmp(y[2], x[2]))
訂單lol
每個子列表的最後一個元素...
我只是想了解的組成部分:
cmp(y,x)
進行比較,以數字,並返回-1
(Y以下×),0
(x等於y)或1
(Y更大的x)的。lambda
正在爲每個列表的最後一個元素定義一個函數? 然後lambda裏面排序?我很困惑 - 任何人都可以解釋lambda函數的作用嗎?
的'cmp'參數僅支持向後兼容性。它已從Python3中刪除。總是使用'key ='代替。如果你有一個棘手的情況,其中一個關鍵函數將無法使用'functools.cmp_to_key' helper – 2013-03-13 22:25:27