已排序(itrearble,cmp=None,key=None,reverse=False)
=符號後跟默認值,默認情況下,該值按升序排序。如果希望結果按降序排序,請使用reverse=True。
最後,排序後的結果將被放入壹個新的列表中,而不是修改iterable本身。
例如:
1,簡單排序
排序的(' 123456 ')字符串
)列表
[1, 2, 3, 4, 5, 6]
Sorted ({1:' q ',3:' c ',2:' g'})字典,默認情況下對字典的鍵進行排序。
[1, 2, 3]
已排序({1:' q ',3:' c ',2:' g'}。keys())字典的鍵。
[1, 2, 3]
排序後的值({1:' q ',3:' c ',2:' g'}。values())添加到字典中。
['c ',' g ',' q']
已排序({1:' q ',3:' c ',2:' g'}。Items())是由鍵值對組成的元組列表。
[(1,' q '),(2,' g '),(3,' c')]
2.對元素指定的某個部分進行排序,對關鍵字進行排序。
s = ['Chr1-10.txt ',' Chr1-1.txt ',' Chr1-14.txt ',' Chr1-3.txt ',' Chr1-20.txt ',' Chr1-5.txt']
我想根據數字的大小在-。使用鑰匙
sorted(s,key = lambda d:int(d . split('-')[-1]。拆分('.')[0]))
['Chr1-1.txt ',' Chr1-2.txt ',' Chr1-5.txt ',' Chr1-10.txt ',' Chr1-14.txt ',' Chr1-20.txt']
這就是鑰匙的作用。排序的關鍵字通常是壹個lambda函數。當然,妳可以提前定義這個函數。如果不談這個關鍵字,轉換成整數,結果是這樣的:
sorted(s,key = lambda d:d . split('-')[-1]。拆分('.')[0])
['Chr1-1.txt ',' Chr1-10.txt ',' Chr1-2.txt ',' Chr1-20.txt ',' Chr1-3.txt ',' Chr1-5.txt']
這相當於將該關鍵字視為字符串。顯然,在python中,‘2’>;'10'
可以自定義想要的鍵,比如key = lambda x: len(x)按序列長度排序。Key= lambda x: (x[1],x[0])按下兩個元素,然後是第壹個,依此類推。。。