查看上一節:匿名函數
sort函數
該方法用於對列表中的元素進行排序。
l = ['bb','aaaa','c','ddddddddd','fff']
l.sort()
print(l)
執行結果為:
sort()方法默認是直接比較列表中的元素的大小。
如果是比較其他內容,比如字符串的長度,可以通過關鍵字key來操作:
在sort()可以接收一個關鍵字參數 : key;key需要一個函數作為參數,當設置了函數作為參數,每次都會以列表中的一個元素作為參數來調用函數,並且使用函數的返回值來比較元素的大小。
l = ['bb','aaaa','c','ddddddddd','fff']
l.sort(key=len) # 以字符串的長度排序
print(l)
執行結果為:
示例二:有不同的數據類型時的排序。
l = [2,5,'1',3,'6','4']
l.sort(key=int) # 強轉為int類型比較
print(l)
執行結果為:
顯示的結果還是原來的元素,說明元素並沒有被改變,而是在比較的時候換了一個身份而已。
sorted()
這個函數和sort()的用法基本一致,但是sorted()可以對任意的序列進行排序。並且使用sorted()排序不會影響原來的對象,而是返回一個新對象。
l = [2,5,'1',3,'6','4']
print('排序前:',l)
print(sorted(l,key=int))
print('排序後:',l)
執行結果為:
可以看到,sorted不會影響列表元素本身,只是進行一個排序,並返回一個新的列表。
點擊查看配套視頻課程
查看更多內容,請訂閱python學習站官方技術圈!