python中的排序函數


1.sort()

list類型有一個自帶的排序函數sort()

list.sort(cmp=None, key=None, reverse=False)

 

參數說明:
(1)  cmp參數
cmp接受一個函數,來確定比較方式,默認的是:
def f(a,b):
     return a-b
返回負數就是a<b。(升序)
所以我們如果要想按降序排序,可以這么定義cmp:
list.sort(cmp=lambda x,y:y-x)

python3里面取消了這個參數。

(2)  key參數
 key也是接受一個函數,不同的是,這個函數只接受一個元素,key接受的函數返回值,表示此元素的權值,sort將按照權值大小進行排序,例如我們根據字符串長度來排序:
list.sort(key=lambda x:len(x))
(3) reverse參數
接受False 或者True 表示是否逆序
注意:sort函數排序后直接改變了原序列。與此不同的是sorted()函數:
2.sorted()
    sorted(iterable, cmp=None, key=None, reverse=False)
參數的含義都和sort一樣,唯一的區別就是它返回的是一個排了序的副本,不改變原來iterable的值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM