list排序方法python_python list 排序的两种方法及实例讲解
對(duì) list 進(jìn)行排序,Python 提供了兩個(gè)方法:
方法1. 用 list 的內(nèi)建函數(shù) list.sort 進(jìn)行排序
list.sort(func=None, key=None, reverse=False)
Python實(shí)例:
方法2. 用序列類(lèi)型函數(shù) sorted(list) 進(jìn)行排序
(從 python 2.4 開(kāi)始)
Python實(shí)例:
兩種方法的區(qū)別:
sorted(list) 返回一個(gè)對(duì)象,可以用作表達(dá)式。原來(lái)的 list 不變,生成一個(gè)新的排好序的 list 對(duì)象。
list.sort() 沒(méi)有返回值,直接改變?cè)械?list。
其他sort的實(shí)例:
實(shí)例1:正向排序
實(shí)例2:反向排序
實(shí)例3:對(duì)第二個(gè)關(guān)鍵字排序
實(shí)例4:對(duì)第二個(gè)關(guān)鍵字排序
實(shí)例5:對(duì)第二個(gè)關(guān)鍵字排序
實(shí)例6:DSU方法(Decorate-Sort-Undercorate)
以上給出了6種對(duì) list 排序的方法,其中實(shí)例3、4、5、6能夠以 list 中 item 的某一項(xiàng)作為比較關(guān)鍵字進(jìn)行排序。
效率比較:
cmp < DSU < key
通過(guò)實(shí)驗(yàn)比較,方法3比方法6要慢,方法6比方法4要慢,方法4和方法5基本相當(dāng)。
多關(guān)鍵字比較排序:
實(shí)例7:
我們看到,此時(shí)排序過(guò)的 L 是僅僅按照第二個(gè)關(guān)鍵字來(lái)排的。
如果我們想用第二個(gè)關(guān)鍵字排過(guò)序后再用第一個(gè)關(guān)鍵字進(jìn)行排序呢?
兩種方法:
實(shí)例8:
實(shí)例9:
為什么實(shí)例8能夠工作呢?原因在于 tuple 的比較是從左到右進(jìn)行的,比較完第一項(xiàng),如果相等,再比較第二項(xiàng)。
轉(zhuǎn)自:http://blog.chinaunix.net/uid-20775448-id-4222915.html
近期文章推薦閱讀:
Crossin的編程教室
微信ID:crossincode
論壇:http://bbs.crossincode.com
QQ群:568430889
點(diǎn)擊左下角“閱讀原文”,查看更多學(xué)習(xí)資源
總結(jié)
以上是生活随笔為你收集整理的list排序方法python_python list 排序的两种方法及实例讲解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c3p0 mysql maven_Mav
- 下一篇: mysql注入绕过单引号_SQL注入-绕