麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Python > 正文

Python中對列表排序?qū)嵗?/h1>
2020-02-23 06:19:19
字體:
供稿:網(wǎng)友

很多時候,我們需要對List進(jìn)行排序,Python提供了兩個方法,對給定的List L進(jìn)行排序:

方法1.用List的成員函數(shù)sort進(jìn)行排序
方法2.用built-in函數(shù)sorted進(jìn)行排序(從2.4開始)

這兩種方法使用起來差不多,以第一種為例進(jìn)行講解:

從Python2.4開始,sort方法有了三個可選的參數(shù),Python Library Reference里是這樣描述的
代碼如下:
cmp:cmp specifies a custom comparison function of two arguments (iterable elements) which should return a negative, zero or positive number depending on whether the first argument is considered smaller than, equal to, or larger than the second argument:
"cmp=lambda x,y: cmp(x.lower(), y.lower())"
key:key specifies a function of one argument that is used to extract a comparison key from each list element: "key=str.lower"
reverse:reverse is a boolean value. If set to True, then the list elements are sorted as if each comparison were reversed.In general, the key and reverse conversion processes are much faster than specifying an
equivalent cmp function. This is because cmp is called multiple times for each list element while key and reverse touch each element only once.

以下是sort的具體實例。
實例1:
代碼如下:
>>>L = [2,3,1,4]
>>>L.sort()
>>>L
>>>[1,2,3,4]

實例2:
代碼如下:
>>>L = [2,3,1,4]
>>>L.sort(reverse=True)
>>>L
>>>[4,3,2,1]

實例3:
代碼如下:
>>>L = [('b',2),('a',1),('c',3),('d',4)]
>>>L.sort(cmp=lambda x,y:cmp(x[1],y[1]))
>>>L
>>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

實例4:
代碼如下:
>>>L = [('b',2),('a',1),('c',3),('d',4)]
>>>L.sort(key=lambda x:x[1])
>>>L
>>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

實例5:
代碼如下:
>>>L = [('b',2),('a',1),('c',3),('d',4)]
>>>import operator
>>>L.sort(key=operator.itemgetter(1))
>>>L
>>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

實例6:(DSU方法:Decorate-Sort-Undercorate)
代碼如下:
>>>L = [('b',2),('a',1),('c',3),('d',4)]
>>>A = [(x[1],i,x) for i,x in enumerate(L)] #i can confirm the stable sort
>>>A.sort()
>>>L = [s[2] for s in A]
>>>L
>>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

以上給出了6中對List排序的方法,其中實例3.4.5.6能起到對以List item中的某一項
為比較關(guān)鍵字進(jìn)行排序.
效率比較:
代碼如下:
cmp < DSU < key

通過實驗比較,方法3比方法6要慢,方法6比方法4要慢,方法4和方法5基本相當(dāng)
多關(guān)鍵字比較排序:

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

主站蜘蛛池模板: 视频一区二区在线观看 | 亚洲第一视频在线 | 久久性生活免费视频 | 久久美女免费视频 | 成人勉费视频 | 黄色大片大毛片 | 高清一区二区在线观看 | 国产91精品一区二区麻豆亚洲 | 羞羞视频免费网站入口 | 成人在线精品视频 | 北原夏美av | 九九热这里只有精品8 | 久草网在线 | 国产午夜精品视频免费不卡69堂 | 久久网站热最新地址 | 久久久噜噜噜久久熟有声小说 | 国产精品久久久久久久av | 久久亚洲精品久久国产一区二区 | 久久久久久久一区二区 | 羞羞视频免费网站日本动漫 | 电影av在线 | 久久久久久久不卡 | 久久久精品视频在线观看 | 亚洲一区二区中文字幕在线观看 | 日韩中字在线 | 久久久久久久久久91 | 逼特逼视频在线观看 | 毛毛片在线看 | 一级黄色片武则天 | 国产成人精品网站 | 国产免费看 | 亚洲国产精品久久久久婷婷老年 | 欧美成人一级 | 日本欧美一区二区三区在线观看 | 精品国产高清一区二区三区 | 圆产精品久久久久久久久久久 | 国产1区在线观看 | 久色亚洲| 久久久国产精品电影 | 51国产偷自视频区视频小蝌蚪 | 中文字幕在线资源 |