天天看點

sort | Python從入門到精通:高階篇之十五

檢視上一節:匿名函數

sort函數

該方法用于對清單中的元素進行排序。

l = ['bb','aaaa','c','ddddddddd','fff']
l.sort()
print(l)           

執行結果為:

sort | Python從入門到精通:高階篇之十五

sort()方法預設是直接比較清單中的元素的大小。

如果是比較其他内容,比如字元串的長度,可以通過關鍵字key來操作:

在sort()可以接收一個關鍵字參數 : key;key需要一個函數作為參數,當設定了函數作為參數,每次都會以清單中的一個元素作為參數來調用函數,并且使用函數的傳回值來比較元素的大小。

l = ['bb','aaaa','c','ddddddddd','fff']
l.sort(key=len) # 以字元串的長度排序
print(l)           
sort | Python從入門到精通:高階篇之十五

示例二:有不同的資料類型時的排序。

l = [2,5,'1',3,'6','4']
l.sort(key=int) # 強轉為int類型比較
print(l)           
sort | Python從入門到精通:高階篇之十五

顯示的結果還是原來的元素,說明元素并沒有被改變,而是在比較的時候換了一個身份而已。

sorted()

這個函數和sort()的用法基本一緻,但是sorted()可以對任意的序列進行排序。并且使用sorted()排序不會影響原來的對象,而是傳回一個新對象。

l = [2,5,'1',3,'6','4']

print('排序前:',l)
print(sorted(l,key=int))
print('排序後:',l)           
sort | Python從入門到精通:高階篇之十五

可以看到,sorted不會影響清單元素本身,隻是進行一個排序,并傳回一個新的清單。

點選檢視配套視訊課程

檢視更多内容,請訂閱

python學習站

官方技術圈!