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