青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

sunrise

每天不斷學(xué)習(xí),才能不斷提升自己。

  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  64 隨筆 :: 0 文章 :: 92 評論 :: 0 Trackbacks
python列表排序 
留著用的時(shí)候查查  轉(zhuǎn)自:http://gaopenghigh.iteye.com/blog/1483864
簡單記一下python中List的sort方法(或者sorted內(nèi)建函數(shù))的用法。 

關(guān)鍵字: 
python列表排序 python字典排序 sorted 


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

sorted函數(shù)用法如下: 
Python代碼  收藏代碼
  1. sorted(data, cmp=None, key=None, reverse=False)  

其中,data是待排序數(shù)據(jù),可以使List或者iterator, cmp和key都是函數(shù),這兩個函數(shù)作用與data的元素上產(chǎn)生一個結(jié)果,sorted方法根據(jù)這個結(jié)果來排序。 
cmp(e1, e2) 是帶兩個參數(shù)的比較函數(shù), 返回值: 負(fù)數(shù): e1 < e2, 0: e1 == e2, 正數(shù): e1 > e2. 默認(rèn)為 None, 即用內(nèi)建的比較函數(shù). 
key 是帶一個參數(shù)的函數(shù), 用來為每個元素提取比較值. 默認(rèn)為 None, 即直接比較每個元素. 
通常, key 和 reverse 比 cmp 快很多, 因?yàn)閷γ總€元素它們只處理一次; 而 cmp 會處理多次. 

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

1. 對由tuple組成的List排序 
Python代碼  收藏代碼
  1. >>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10),]  


用key函數(shù)排序(lambda的用法見 注釋1) 
Python代碼  收藏代碼
  1. >>> sorted(students, key=lambda student : student[2])   # sort by age  
  2. [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]  


用cmp函數(shù)排序 
Python代碼  收藏代碼
  1. >>> sorted(students, cmp=lambda x,y : cmp(x[2], y[2])) # sort by age  
  2. [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]  


用 operator 函數(shù)來加快速度, 上面排序等價(jià)于:(itemgetter的用法見 注釋2) 
Python代碼  收藏代碼
  1. >>> from operator import itemgetter, attrgetter  
  2. >>> sorted(students, key=itemgetter(2))  


用 operator 函數(shù)進(jìn)行多級排序 
Python代碼  收藏代碼
  1. >>> sorted(students, key=itemgetter(1,2))  # sort by grade then by age  
  2. [('john', 'A', 15), ('dave', 'B', 10), ('jane', 'B', 12)]  



2. 對由字典排序 
Python代碼  收藏代碼
  1. >>> d = {'data1':3, 'data2':1, 'data3':2, 'data4':4}  
  2. >>> sorted(d.iteritems(), key=itemgetter(1), reverse=True)  
  3. [('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]) 

相當(dāng)于 
Python代碼  收藏代碼
  1. def itemgetter(i,*a):   
  2.     def func(obj):   
  3.         r = obj[i]   
  4.         if a:   
  5.             r = (r,) + tuple(obj[i] for i in a)   
  6.         return r   
  7.     return func   
  8.   
  9. >>> a = [1,2,3]   
  10. >>> b=operator.itemgetter(1)   
  11. >>> b(a)   
  12. 2   
  13. >>> b=operator.itemgetter(1,0)   
  14. >>> b(a)   
  15. (2, 1)   
  16. >>> b=itemgetter(1)   
  17. >>> b(a)   
  18. 2   
  19. >>> b=itemgetter(1,0)   
  20. >>> b(a)   
  21. (2, 1)   


參考資料: 
1. http://www.linuxso.com/linuxbiancheng/13340.html 
2. http://www.douban.com/note/13460891/
posted on 2012-04-27 11:28 SunRise_at 閱讀(5548) 評論(2)  編輯 收藏 引用 所屬分類: 可愛的python

評論

# re: python學(xué)習(xí)(二)--- python列表排序 2012-04-27 11:38 老魚
提示:python 3.x已經(jīng)廢棄了cmp參數(shù)。  回復(fù)  更多評論
  

# re: python學(xué)習(xí)(二)--- python列表排序 2012-04-27 11:43 SunRise_at
這個我也不清楚,今兒就用到了第一個,我說留著用的時(shí)候再查呢。。。@老魚
  回復(fù)  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            午夜精品在线看| 国产精品每日更新| 亚洲精品在线观| 欧美黄色一区| 亚洲高清影视| 欧美在线中文字幕| 久久免费的精品国产v∧| 米奇777超碰欧美日韩亚洲| 欧美不卡激情三级在线观看| 欧美高清不卡| 亚洲精品一区二区三区蜜桃久| 99视频在线观看一区三区| 亚洲一区日韩在线| 久久亚洲精品网站| 欧美日本亚洲| 国产日韩欧美亚洲一区| 伊人精品在线| 一区二区三区四区在线| 久久精品青青大伊人av| 欧美激情91| 亚洲午夜久久久久久尤物| 久久精品首页| 国产精品99免费看| 亚洲成色精品| 亚洲综合首页| 嫩草伊人久久精品少妇av杨幂| 欧美激情亚洲自拍| 性欧美18~19sex高清播放| 欧美国产日韩一区二区在线观看 | 欧美va天堂va视频va在线| 欧美日韩精品二区| 在线免费观看欧美| 午夜精品久久99蜜桃的功能介绍| 久久综合九色综合欧美就去吻| 亚洲欧洲另类| 久久免费视频网| 国产精品资源| 亚洲一区二区在线看| 欧美激情bt| 欧美影院久久久| 国产精品久久久久久久久婷婷| 亚洲激情校园春色| 久久人人爽人人爽爽久久| 一区二区三区精密机械公司| 欧美v亚洲v综合ⅴ国产v| 国产自产高清不卡| 欧美中文字幕在线播放| 日韩视频在线免费| 99精品国产在热久久婷婷| 亚洲激情成人网| 美日韩在线观看| 国产性天天综合网| 欧美亚洲一级| 亚洲视频在线免费观看| 欧美日韩精品免费观看视频| 在线观看国产精品网站| 久久综合亚洲社区| 久久蜜桃精品| 亚洲国产小视频| 久久久久久网址| 在线观看日韩国产| 欧美成人免费在线视频| 巨乳诱惑日韩免费av| 在线观看亚洲精品视频| 久久综合久久综合九色| 久久人体大胆视频| 亚洲国产精品成人久久综合一区| 另类图片综合电影| 你懂的成人av| 亚洲美女视频在线观看| 亚洲精品久久久一区二区三区| 欧美成人小视频| 最新成人av网站| 亚洲精品色婷婷福利天堂| 欧美视频一区在线观看| 午夜精品久久久久久| 亚洲欧美在线视频观看| 国语自产精品视频在线看抢先版结局 | 久久久精品免费视频| 亚洲欧美福利一区二区| 亚洲成人自拍视频| 国产主播一区二区| 欧美激情小视频| 亚洲免费在线看| 欧美性猛交一区二区三区精品| 亚洲韩国精品一区| 伊人婷婷欧美激情| 中国成人亚色综合网站| 欧美精品91| 午夜精品亚洲| 在线日韩欧美视频| 亚洲国产另类久久精品| 欧美日韩国产成人精品| 亚洲国产三级网| 国产精品mm| 久久久99免费视频| 欧美激情亚洲激情| 久久爱www| 欧美国产视频日韩| 欧美在线综合视频| 欧美激情一区二区三区在线视频观看 | 国产精品一区二区在线| 日韩午夜在线观看视频| 亚洲综合不卡| 一区二区三区自拍| 亚洲精品久久嫩草网站秘色 | 免费在线一区二区| 欧美日韩天天操| 狼人天天伊人久久| 国产精品激情av在线播放| 美国三级日本三级久久99| 欧美天堂亚洲电影院在线观看| 蜜桃av综合| 国产视频一区在线| 一本色道久久综合亚洲精品小说 | 最近看过的日韩成人| 亚洲最新视频在线播放| 亚洲高清中文字幕| 欧美在线资源| 亚洲欧美中文字幕| 欧美男人的天堂| 欧美激情第三页| 精品999网站| 午夜精品视频在线观看一区二区| 99精品国产99久久久久久福利| 久久久精品性| 久久人人爽人人爽| 狠狠综合久久av一区二区老牛| 中文在线不卡视频| 亚洲一区二区动漫| 欧美日韩性生活视频| 国产精品久久久一本精品| 欧美一级午夜免费电影| 另类图片国产| 欧美韩国日本综合| 91久久国产综合久久蜜月精品| 国内视频精品| 亚洲最新视频在线| 亚洲视频久久| 欧美精品在线免费| 国产精品毛片一区二区三区| 久久riav二区三区| 国产精品久久77777| 夜夜狂射影院欧美极品| 亚洲一区二区动漫| 国产精品私房写真福利视频 | 一区二区av在线| 亚洲图片在线观看| 国产精品乱码一区二三区小蝌蚪| 一本一本久久a久久精品综合妖精| 一本色道久久88精品综合| 欧美伦理91| 亚洲中午字幕| 久久高清免费观看| 黑人一区二区| 欧美成人午夜| 国产精品99久久不卡二区| 性色av一区二区三区红粉影视| 国产区在线观看成人精品| 欧美在线观看你懂的| 欧美肥婆在线| 亚洲一区二区三区四区视频| 欧美成人精品影院| 夜夜嗨av一区二区三区中文字幕| 欧美日韩综合视频网址| 亚洲自拍偷拍一区| 欧美国产精品劲爆| 亚洲综合首页| 在线看片一区| 国产精品久久久久天堂| 久久久亚洲成人| 亚洲国产精品久久久久婷婷老年| 亚洲一区二区三区免费视频| 欧美性大战久久久久久久| 欧美与黑人午夜性猛交久久久| 欧美成人性生活| 香蕉久久夜色精品国产| 亚洲国内自拍| 国产精品一区二区女厕厕| 久久久国产精品亚洲一区| 99av国产精品欲麻豆| 久久精品国产一区二区三区免费看 | 亚洲欧美精品suv| 欧美福利电影在线观看| 一本色道久久综合亚洲精品不| 国产女主播一区二区| 女生裸体视频一区二区三区| 亚洲一区国产视频| 免费人成网站在线观看欧美高清| 一区二区三区视频观看| 亚洲第一网站| 国产日韩视频| 欧美视频网址| 欧美激情第六页| 久久精品中文字幕一区| 亚洲一区二区欧美日韩| 亚洲韩国一区二区三区| 久久在线视频在线| 久久大综合网| 亚洲欧美综合|