<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        python中List的sort方法指南

        來源:懂視網 責編:小采 時間:2020-11-27 14:38:11
        文檔

        python中List的sort方法指南

        python中List的sort方法指南:簡單記一下python中List的sort方法(或者sorted內建函數)的用法。 List的元素可以是各種東西,字符串,字典,自己定義的類等。 sorted函數用法如下: sorted(data, cmp=None, key=None, reverse=False) 其中,data是待排序數據,可
        推薦度:
        導讀python中List的sort方法指南:簡單記一下python中List的sort方法(或者sorted內建函數)的用法。 List的元素可以是各種東西,字符串,字典,自己定義的類等。 sorted函數用法如下: sorted(data, cmp=None, key=None, reverse=False) 其中,data是待排序數據,可

        簡單記一下python中List的sort方法(或者sorted內建函數)的用法。

        List的元素可以是各種東西,字符串,字典,自己定義的類等。

        sorted函數用法如下:

        sorted(data, cmp=None, key=None, reverse=False)

        其中,data是待排序數據,可以使List或者iterator, cmp和key都是函數,這兩個函數作用與data的元素上產生一個結果,sorted方法根據這個結果來排序。

        cmp(e1, e2) 是帶兩個參數的比較函數, 返回值: 負數: e1 < e2, 0: e1 == e2, 正數: e1 > e2. 默認為 None, 即用內建的比較函數.
        key 是帶一個參數的函數, 用來為每個元素提取比較值. 默認為 None, 即直接比較每個元素.
        通常, key 和 reverse 比 cmp 快很多, 因為對每個元素它們只處理一次; 而 cmp 會處理多次.

        通過例子來說明sorted的用法:

        1. 對由tuple組成的List排序

        >>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10),] 
        
        

        用key函數排序(lambda的用法見 注釋1)

        >>> sorted(students, key=lambda student : student[2]) # sort by age 
        [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)] 
        
        

        用cmp函數排序

        >>> sorted(students, cmp=lambda x,y : cmp(x[2], y[2])) # sort by age 
        [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)] 
        
        

        用 operator 函數來加快速度, 上面排序等價于:(itemgetter的用法見 注釋2)

        >>> from operator import itemgetter, attrgetter 
        >>> sorted(students, key=itemgetter(2)) 
        
        

        用 operator 函數進行多級排序

        >>> sorted(students, key=itemgetter(1,2)) # sort by grade then by age 
        [('john', 'A', 15), ('dave', 'B', 10), ('jane', 'B', 12)] 

        2. 對由字典排序

        >>> d = {'data1':3, 'data2':1, 'data3':2, 'data4':4} 
        >>> sorted(d.iteritems(), key=itemgetter(1), reverse=True) 
        [('data4', 4), ('data1', 3), ('data3', 2), ('data2', 1)] 

        注釋1
        參考:http://jasonwu.me/2011/10/29/introduce-to-python-lambda.html

        注釋2
        參考:http://ar.newsmth.net/thread-90745710c90cf1.html

        class itemgetter(__builtin__.object) 
        | itemgetter(item, ...) --> itemgetter object 
        | 
        | Return a callable object that fetches the given item(s) from its operand. 
        | After, f=itemgetter(2), the call f(r) returns r[2]. 
        | After, g=itemgetter(2,5,3), the call g(r) returns (r[2], r[5], r[3]) 
        

        相當于

        def itemgetter(i,*a): 
         def func(obj): 
         r = obj[i] 
         if a: 
         r = (r,) + tuple(obj[i] for i in a) 
         return r 
         return func 
         
        >>> a = [1,2,3] 
        >>> b=operator.itemgetter(1) 
        >>> b(a) 
        2 
        >>> b=operator.itemgetter(1,0) 
        >>> b(a) 
        (2, 1) 
        >>> b=itemgetter(1) 
        >>> b(a) 
        2 
        >>> b=itemgetter(1,0) 
        >>> b(a) 
        (2, 1) 
        
        

        參考資料:
        1. http://www.linuxso.com/linuxbiancheng/13340.html
        2. http://www.douban.com/note/13460891/

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        python中List的sort方法指南

        python中List的sort方法指南:簡單記一下python中List的sort方法(或者sorted內建函數)的用法。 List的元素可以是各種東西,字符串,字典,自己定義的類等。 sorted函數用法如下: sorted(data, cmp=None, key=None, reverse=False) 其中,data是待排序數據,可
        推薦度:
        標簽: 方法 列表 列表中
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 久久亚洲精品成人综合| 成年女人免费视频播放77777| 国产极品粉嫩泬免费观看| 亚洲国产成人精品不卡青青草原| EEUSS影院WWW在线观看免费| 久久久久亚洲av成人无码电影| 免费福利资源站在线视频| 亚洲Av无码国产情品久久| 杨幂最新免费特级毛片| 四虎永久免费地址在线观看| 国产精品亚洲精品日韩动图| 亚洲AV无码专区日韩| 久久精品免费网站网| 国产亚洲精品xxx| 国产精品久久久久久久久免费| 亚洲六月丁香六月婷婷蜜芽| 最近最新中文字幕完整版免费高清| 亚洲一本到无码av中文字幕| 成人免费无码大片a毛片| 爱情岛亚洲论坛在线观看| 久久夜色精品国产亚洲av| 日本亚洲欧洲免费天堂午夜看片女人员| 精品亚洲综合在线第一区| 最近免费视频中文字幕大全| 亚洲影视自拍揄拍愉拍| 情侣视频精品免费的国产| 国产免费播放一区二区| 日本久久久久亚洲中字幕| 精品国产麻豆免费网站| 两个人www免费高清视频| 亚洲第一成年人网站| 又粗又硬免费毛片| 毛片在线全部免费观看| 91丁香亚洲综合社区| 亚洲成a人一区二区三区| 69pao强力打造免费高清| 亚洲av无码av在线播放| 日本亚洲欧洲免费天堂午夜看片女人员| 亚洲毛片在线免费观看| 美女被艹免费视频| 亚洲精品国产免费|