sort()方法對給定列表的元素進(jìn)行排序。
sort()方法以特定順序(升序或降序)對給定列表的元素進(jìn)行排序。
sort()方法的語法為:
list.sort(key=..., reverse=...)
另外,您也可以出于相同的目的使用Python的內(nèi)置函數(shù)sorted()。
sorted(list, key=..., reverse=...)
注意: sort()和sorted()之間最簡單的區(qū)別是:sort()不返回任何值,而sorted()返回可迭代的列表。
默認(rèn)情況下,sort()不需要任何其他參數(shù)。但是,它有兩個(gè)可選參數(shù):
reverse -如果為true,則排序后的列表將反轉(zhuǎn)(或以降序排序)
key -用作排序比較鍵的函數(shù)
sort()方法不返回任何值。相反,它將更改原始列表。
如果要原始列表,請使用sorted()。
# 元音列表 vowels = ['e', 'a', 'u', 'o', 'i'] # 對元音進(jìn)行排序 vowels.sort() # 打印元音 print('排序后的列表:', vowels)
運(yùn)行該程序時(shí),輸出為:
排序后的列表: ['a', 'e', 'i', 'o', 'u']
sort()方法接受一個(gè)reverse參數(shù)作為可選參數(shù)。
設(shè)置reverse=True按降序?qū)α斜磉M(jìn)行排序。
list.sort(reverse=True)
或者,對于sorted(),可以使用以下代碼。
sorted(list, reverse=True)
# 元音列表 vowels = ['e', 'a', 'u', 'o', 'i'] # 元音排序 vowels.sort(reverse=True) # 打印元音 print('排序列表(降序排列):', vowels)
運(yùn)行該程序時(shí),輸出為:
排序列表(降序排列): ['u', 'o', 'i', 'e', 'a']
如果您希望用自己的方法進(jìn)行排序,sort()還可以將key函數(shù)作為可選參數(shù)。
根據(jù)key函數(shù)的結(jié)果,可以對給定列表進(jìn)行排序。
list.sort(key=len)
也可以排序
sorted(list, key=len)
在這里,len是Python的內(nèi)置函數(shù),用于計(jì)算元素的長度。
該列表根據(jù)其每個(gè)元素的長度(從最低到最高計(jì)數(shù))進(jìn)行排序。
# 用第二個(gè)元素排序 def takeSecond(elem): return elem[1] # 隨機(jī)列表 random = [(2, 2), (3, 4), (4, 1), (1, 3)] # 鍵排序列表 random.sort(key=takeSecond) # 打印列表 print('排序后的列表:', random)
運(yùn)行該程序時(shí),輸出為:
排序后的列表: [(4, 1), (2, 2), (1, 3), (3, 4)]