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

sunrise

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

  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  64 隨筆 :: 0 文章 :: 92 評論 :: 0 Trackbacks
python列表排序 
留著用的時候查查  轉(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ù), 返回值: 負數(shù): e1 < e2, 0: e1 == e2, 正數(shù): e1 > e2. 默認為 None, 即用內(nèi)建的比較函數(shù). 
key 是帶一個參數(shù)的函數(shù), 用來為每個元素提取比較值. 默認為 None, 即直接比較每個元素. 
通常, key 和 reverse 比 cmp 快很多, 因為對每個元素它們只處理一次; 而 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ù)來加快速度, 上面排序等價于:(itemgetter的用法見 注釋2) 
Python代碼  收藏代碼
  1. >>> from operator import itemgetter, attrgetter  
  2. >>> sorted(students, key=itemgetter(2))  


用 operator 函數(shù)進行多級排序 
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
這個我也不清楚,今兒就用到了第一個,我說留著用的時候再查呢。。。@老魚
  回復(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>
            最新高清无码专区| 欧美日韩一区国产| 蜜桃久久av一区| 久久经典综合| 久久本道综合色狠狠五月| 亚洲欧美另类久久久精品2019| av成人免费在线| 亚洲一区二区三区三| 午夜久久99| 亚洲男人的天堂在线观看| 亚洲欧美日韩一区二区三区在线观看| 香蕉精品999视频一区二区 | 亚洲调教视频在线观看| 欧美日韩麻豆| 亚洲免费观看在线视频| 亚洲一级黄色片| 91久久午夜| 亚洲图片在线观看| 欧美精品国产精品日韩精品| 国产精品永久免费观看| 亚洲激情网站| 久久久久国产一区二区三区四区| 欧美jizz19hd性欧美| 99精品国产在热久久婷婷| 亚洲欧美日韩精品久久久| 欧美成人小视频| 国内精品伊人久久久久av一坑| 亚洲激情影视| 久久综合一区二区三区| 一区二区免费看| 老司机午夜精品视频| 国产综合亚洲精品一区二| 亚洲欧美激情在线视频| 99在线精品观看| 久久这里有精品15一区二区三区| 国产精品久久久久国产精品日日| 亚洲精品美女久久久久| 免费观看欧美在线视频的网站| 欧美一级视频免费在线观看| 国产午夜亚洲精品羞羞网站| 久久久国产视频91| 久久久www成人免费毛片麻豆| 国产一区免费视频| 久久免费视频网| 欧美a级一区| 久久久av网站| 雨宫琴音一区二区在线| 欧美激情中文字幕一区二区| 欧美精品 国产精品| 午夜视频久久久久久| 欧美在线免费看| 一区二区三区国产| 亚洲一区在线看| 亚洲欧洲在线一区| 宅男噜噜噜66一区二区| 韩国v欧美v日本v亚洲v| 亚洲国产成人一区| 国产亚洲福利社区一区| 99精品视频免费观看| 在线日韩中文| 久久精品五月| 美日韩丰满少妇在线观看| 国产一区二区三区丝袜| 欧美在线网址| 欧美激情女人20p| 在线亚洲电影| 国产日韩在线亚洲字幕中文| 久久人人97超碰人人澡爱香蕉| 国产视频欧美视频| 99re66热这里只有精品3直播| 亚洲人成人一区二区在线观看| 久久精品九九| 欧美mv日韩mv亚洲| 91久久中文字幕| 欧美日韩午夜激情| 亚洲女ⅴideoshd黑人| 久久经典综合| 亚洲精品国精品久久99热一| 欧美极品一区二区三区| 99视频精品免费观看| 亚洲一区视频在线观看视频| 欧美天天视频| 亚洲人久久久| 欧美成熟视频| 亚洲视频高清| 久久综合狠狠综合久久综合88| 国产亚洲欧美一级| 久久理论片午夜琪琪电影网| 久久亚洲视频| 在线一区二区日韩| 韩国av一区二区| 欧美三级资源在线| 久久久国产一区二区三区| 亚洲片在线观看| 久久久999成人| 亚洲欧美日韩精品久久亚洲区| 国产在线精品成人一区二区三区 | 国产精品va在线播放| 久久精品综合网| 一区二区三区福利| 亚洲高清视频在线| 欧美成年人在线观看| 午夜视黄欧洲亚洲| 一区二区三区日韩精品| 亚洲片在线资源| 亚洲第一视频网站| 亚洲高清在线播放| 亚洲国产精品成人va在线观看| 国产欧美日韩| 国产日韩欧美制服另类| 国产精品分类| 国产精品丝袜久久久久久app| 国产精品第2页| 国产欧美va欧美va香蕉在| 国产欧美一区二区精品性| 久久久欧美精品sm网站| 日韩亚洲在线观看| 亚洲综合第一| 99视频精品在线| 一区二区三区四区五区精品视频| av成人手机在线| 久久国产精品99国产精| 欧美激情精品久久久六区热门| 亚洲高清一二三区| 亚洲一品av免费观看| 性色av一区二区三区红粉影视| 久久夜色精品国产欧美乱极品| 欧美激情片在线观看| 国产精品视频导航| 亚洲黄一区二区三区| 欧美一区二区在线免费观看| 免费亚洲电影在线| 欧美一区二区三区免费观看| 久久午夜激情| 国产女精品视频网站免费| 91久久久久久久久久久久久| 午夜在线电影亚洲一区| 日韩一级黄色片| 欧美成人资源| 日韩一级精品视频在线观看| 久久久在线视频| 欧美在线视频播放| 国产日韩精品一区二区| 午夜视频一区二区| 亚洲网友自拍| 国产精品裸体一区二区三区| 在线视频精品一| 亚洲小少妇裸体bbw| 国产精品欧美在线| 亚洲欧美综合v| 亚洲欧美激情精品一区二区| 国产精品久久久久久久久动漫| 日韩一区二区高清| av72成人在线| 麻豆国产精品va在线观看不卡| 久久国产精品久久精品国产| 国产一区二区日韩精品| 欧美成人tv| 欧美午夜在线一二页| 久久精品国产99| 欧美精品二区| 国产精品网曝门| 久久精品综合| 欧美二区乱c少妇| 亚洲欧美在线高清| 久久久精品性| 亚洲一区二区在线播放| 亚洲欧美清纯在线制服| 日韩一级免费观看| 欧美一区日韩一区| 亚洲一区观看| 久久这里只有| 欧美一区观看| 国产精品毛片va一区二区三区| 久久精品99国产精品| 欧美日韩影院| 亚洲国产成人tv| 亚洲第一区在线| 久久精品成人欧美大片古装| 久久国产精品一区二区| 欧美视频导航| 最新高清无码专区| 激情91久久| 欧美亚洲一级片| 久久er精品视频| 国模精品娜娜一二三区| 亚洲免费综合| 久久综合国产精品| 亚洲国产高清一区| 欧美成人一二三| 亚洲美女一区| 欧美亚洲一级| 国内精品久久久久久久97牛牛| 亚洲一区在线播放| 久久性天堂网| 亚洲伦理中文字幕| 国产精品一二| 美女网站久久| 亚洲永久在线| 亚洲国产欧洲综合997久久|