亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

少了cmp= 為什么不行

sorted_ignore_case = functools.partial(sorted,cmp=lambda s1,s2:cmp(s1.upper(),s2.upper()))


sorted_ignore_case = functools.partial(sorted, ? ? ? ? lambda s1,s2:cmp(s1.upper(),s2.upper()))


少了cmp= 為什么不行

正在回答

2 回答

我認為,可以參考:>>> import functools
>>> int2 = functools.partial(int, base=2) ? ? ? # base是一個函數,其參數取2,即把輸入的內容轉化成2進制
>>> int2('1000000')
64

這里也一樣,cmp是一個函數,其函數里面又包含了一個參數函數,為隱函數lambda,后面部分為參數函數lambda的內容


0 回復 有任何疑惑可以回復我~

sorted(iterable, key=None, reverse=False) --> new sorted list #Python 3.X

sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list #Python 2.4

cmp是用于比較的函數,key是關鍵字,reverse是規則,cmp=是指明參數嘛

0 回復 有任何疑惑可以回復我~
#1

學習攻城獅

但是這個語句里面有沒有cmp=都獲得一樣的結果,怎么回事?print sorted([1, 3, 9, 5, 0], cmp=lambda x,y: -cmp(x,y))
2015-04-29 回復 有任何疑惑可以回復我~
#2

lymo 回復 學習攻城獅

sorted在默認參數的情況下就可以進行排序,當然只是單純的由小到大的排序,cmp是用來設定一個額外的排序函數,所以只是對數字排序的話直接sorted([1, 3, 9, 5, 0])就可以了,上題是忽略大小寫排序,不設定的cmp的話,會直接根據ASCII的大小進行排序
2015-04-30 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
python進階
  • 參與學習       255563    人
  • 解答問題       3038    個

學習函數式、模塊和面向對象編程,掌握Python高級程序設計

進入課程

少了cmp= 為什么不行

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號