這篇文章主要介紹了python列表排序的方法有哪些,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
python提供了對list排序兩種方法
1.使用list內建函數sort排序
list.sort(key=None,reverse=False)
例如
In [57]: l=[27,47,3,42,19,9] In [58]: l.sort() In [59]: l Out[59]: [3, 9, 19, 27, 42, 47]
上面這種是直接對l列表里面的元素排序,sort()函數還提供了一個key參數,這個參數的值是一個函數,這個函數只能有一個返回值,且返回值用來進行比較。 這個技術是快速的因為key指定的函數將準確地對每個元素調用。
In [53]: L = [('b',6),('a',1),('c',3),('d',4)]
In [54]: L.sort(key=lambda x:x[1])
In [56]: L
Out[56]: [('a', 1), ('c', 3), ('d', 4), ('b', 6)]上面那段話,再結合這個例子,我是這樣理解的:匿名函數lambda x:x[1]相當于:
def f(x): return x[1]
key參數接受列表L里的每個元素的第二個參數,根據第二個參數的排序,確定整體的排序。也就是說,設置了key參數后,key接收的值代表了整體,排序的標準就變成了對key所接收的值進行排序。
2.使用python內置函數sorted排序
sorted方法和sort方法很相似,不同的是,sorted不改變原來的列表,并返回一個排好序的列表。而list.sort()是改變了原有的列表。還有就是,list.sort()只能對列表排序,而sorted()可以對其他數據結構排序。
In [62]: l=[27,47,3,42,19,9] In [63]: sorted(l) Out[63]: [3, 9, 19, 27, 42, 47]
sorted方法同樣可以用key參數,用法也是一樣的。
In [68]: data=[{'name':'Abbie','score':99},{'name':'Ivy','score':80}]
In [69]: sorted(data,key=lambda x:x['score'])
Out[69]: [{'name': 'Ivy', 'score': 80}, {'name': 'Abbie', 'score': 99}]感謝你能夠認真閱讀完這篇文章,希望小編分享python列表排序的方法有哪些內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。