python中sort()函數用法詳解
1.函數sort()是對列表就地排序
>>> x=[8,9,0,7,4,5,1,2,3,6] >>> x.sort() >>> print(x) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
2.函數sort()修改序列,不返回任何值
>>> x=[8,9,0,7,4,5,1,2,3,6] >>> y=x.sort() >>> print(y) None >>> print(x) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
3.sorted()函數會返回一個排序列表,不改變原有序列
>>> x=[8,9,0,7,4,5,1,2,3,6] >>> y=sorted(x) >>> print(y) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> print(x) [8, 9, 0, 7, 4, 5, 1, 2, 3, 6]
4.函數sort()是升序排序,如何降序排序,需要用到函數reverse()
>>> x=[8,9,0,7,4,5,1,2,3,6] >>> x.sort() >>> x.reverse() >>> print(x) [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
5.函數sort()排序的高級用法
方法sort()可以接受兩個參數sort(key,reverse)
(1) key參數
key接受的是一個隻有一個形參的函數
key接受的函數返回值,表示此元素的權值,sort將按照權值大小進行排序
>>> x=[8,9,0,7,4,5,1,2,3,6] >>> def size(a): >>> x=10-int(a) >>> return x >>> x.sort(key=size) >>> print(x) [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
(2) reverse參數
reverse接受的是一個bool類型的值 (Ture or False),表示是否顛倒排列順序,一般默認的是False,註意第一個字母是大寫的
>>> x=[8,9,0,7,4,5,1,2,3,6] >>> x.sort(reverse=True) >>> print(x) [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] >>> x.sort(reverse=False) >>> print(x) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>>
補充:python中sort的用法——對列表中的元素按關鍵字排序
在python中,sort是列表排序的一種方法,調用方式為list.sort(),這樣會改變原來列表的值。
sort(key, reverse)方法有key和reverse兩種參數,其中key表示的是排序的關鍵字,reverse表示的是排序的方式(reverse=False表示升序和reverse=True表示降序)
sort()方法默認是升序排序,即默認reverse=False。
下面主要寫一下如何用sort根據關鍵字排序:
對於一個列表,其中的元素也是列表,要根據元素中的值進行排序,直接看代碼:
例子一:
l = [[1,2,3],[2,2,1],[2,1,3]] l.sort(key = lambda x: (x[0],-x[1])) ''' 其中key表示按第幾個關鍵字排序,lambda x:後()中的元素表示瞭關鍵字的優先級 第一位表示最高的優先級,第二位次之。。。 其中下x[0]表示按第一個關鍵詞的升序排列,-x[1]表示按第二個關鍵詞的降序排列。 ''' print(l) #輸出:[[1, 2, 3], [2, 2, 1], [2, 1, 3]]
例子二:
l = [[1,2,2],[2,2,1],[2,1,3]] l.sort(key = lambda x: (-x[2],x[1])) #表示按第三個元素的降序排列,然後再根據第二個元素的升序排 print(l) #輸出:[[2, 1, 3], [1, 2, 2], [2, 2, 1]]
總結
到此這篇關於python中sort()函數用法的文章就介紹到這瞭,更多相關python sort()函數用法內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python列表排序 list.sort方法和內置函數sorted用法
- python list.sort()根據多個關鍵字排序的方法實現
- python3中dict.keys().sort()用不瞭的解決方法
- python數組排序方法之sort、sorted和argsort詳解
- Python list sort方法的具體使用