課程
/后端開發
/Python
/python進階
如題,為什么是cmp=lambda s1,s2:cmp(。。。)這樣寫。具體意義是什么?我試了下,去掉“cmp=”就不可以了?為什么?不太明白這個程序。求指點
2015-04-29
源自:python進階 2-15
正在回答
sorted方法是有三個參數,cmp就是其中的一個。cmp本身是一個比較函數。這兒之所以這么寫是想重寫比較的方式,所以寫了一個lambda表達式重新定義cmp。
樓上也說了,sorted 方法是需要三個參數的 array, key, cmp
cmp=lambda s1,s2:cmp(。。。)
cmp 就是其中一個參數。
對,參考文檔里有關于sorted的方法,是需要三個參數的
sorted(iterable[, cmp[, key[, reverse]]])
可以,但要指定key,查看sorted函數是有三個參數的,指定key和指定cmp效果一樣
>>> help(sorted)
Help on built-in function sorted in module __builtin__:
sorted(...)
? ? sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list
cmp 是函數名,相當于每次調用匿名函數 ??lambda s1,s2:cmp(s1.upper(),s2.upper()) ?就會調用自身。
舉報
學習函數式、模塊和面向對象編程,掌握Python高級程序設計
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-03-07
sorted方法是有三個參數,cmp就是其中的一個。cmp本身是一個比較函數。這兒之所以這么寫是想重寫比較的方式,所以寫了一個lambda表達式重新定義cmp。
2016-08-08
樓上也說了,sorted 方法是需要三個參數的 array, key, cmp
cmp=lambda s1,s2:cmp(。。。)
cmp 就是其中一個參數。
2016-02-19
對,參考文檔里有關于sorted的方法,是需要三個參數的
sorted(iterable[, cmp[, key[, reverse]]])
2015-12-29
可以,但要指定key,查看sorted函數是有三個參數的,指定key和指定cmp效果一樣
>>> help(sorted)
Help on built-in function sorted in module __builtin__:
sorted(...)
? ? sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list
2015-05-18
cmp 是函數名,相當于每次調用匿名函數 ??lambda s1,s2:cmp(s1.upper(),s2.upper()) ?就會調用自身。