Python sorted()函數
形容
sorted()函數對所有叠代的對象進行排序。
排序和已排序的區別:
Sort是壹種應用於list的方法,sorted可以對所有iterable對象進行排序。
list的排序方法返回的是對已有列表的壹個操作,沒有返回值,而內置函數的排序方法返回的是壹個新的列表,而不是基於原有列表的操作。
排序語法:
已排序(iterable,cmp=None,key=None,reverse=False)
如果要按某個規則排序,需要指定參數key。key是壹個函數對象,比如字符串列表。我想按字符串的長度排序。
& gt& gt& gtchars = ['Andrew ',' This ',' a ',' from ',' is ',' string ',' test']
& gt& gt& gt已排序(chars,key=len)
['a ',' is ',' from ',' test ',' This ',' Andrew ',' string']
Len是壹個內置函數,sorted函數在排序時會使用len來獲取每個字符串的長度。有些人可能會用匿名功能鍵=lambda x: len(x),但沒必要。
————————————————
版權聲明:本文為CSDN博主“Python之禪”原創文章,遵循CC 4.0 BY-SA版權協議。轉載請附上原出處鏈接和本聲明。
原文鏈接:/zv3e 189 OS 5c 0 tsknrbcl/article/details/82670703
此外,在調用sorted()函數時,還可以傳入壹個key參數,該參數可以接受壹個函數,該函數的作用是指定sorted()函數排序所依據的標準。例如:
1.chars=[' ',\
2./python/',\
3./shell/',\
4./java/',\
5./golang/']
6.#默認排序
7.打印(已排序(字符))
8.
9.#按字符串長度自定義排序
10.打印(已排序(chars,key=lambda x:len(x)))
程序執行結果如下:
['',
/golang/',
/java/',
/python/',
/shell/']
['',
/java/',
/shell/',
/python/',
/golang/']
本程序中使用了lambda表達式,其用法將在後續章節中詳細介紹。