sort()方法对给定列表的元素进行排序。
sort()方法以特定顺序(升序或降序)对给定列表的元素进行排序。
sort()方法的语法为:
list.sort(key=..., reverse=...)
另外,您也可以出于相同的目的使用Python的内置函数sorted()。
sorted(list, key=..., reverse=...)
注意: sort()和sorted()之间最简单的区别是:sort()不返回任何值,而sorted()返回可迭代的列表。
sort()参数
默认情况下,sort()不需要任何其他参数。但是,它有两个可选参数:
reverse -如果为true,则排序后的列表将反转(或以降序排序)
key -用作排序比较键的函数
sort()返回值
sort()方法不返回任何值。相反,它将更改原始列表。
如果要原始列表,请使用sorted()。
示例1:对给定列表进行排序
# 元音列表 vowels = ['e', 'a', 'u', 'o', 'i'] # 对元音进行排序 vowels.sort() # 打印元音 print('排序后的列表:', vowels)
运行该程序时,输出为:
排序后的列表: ['a', 'e', 'i', 'o', 'u']
如何以降序排序?
sort()方法接受一个reverse参数作为可选参数。
设置reverse=True按降序对列表进行排序。
list.sort(reverse=True)
或者,对于sorted(),可以使用以下代码。
sorted(list, reverse=True)
示例2:以降序对列表进行排序
# 元音列表 vowels = ['e', 'a', 'u', 'o', 'i'] # 元音排序 vowels.sort(reverse=True) # 打印元音 print('排序列表(降序排列):', vowels)
运行该程序时,输出为:
排序列表(降序排列): ['u', 'o', 'i', 'e', 'a']
如何使用自己的函数和关键参数进行排序?
如果您希望用自己的方法进行排序,sort()还可以将key函数作为可选参数。
根据key函数的结果,可以对给定列表进行排序。
list.sort(key=len)
也可以排序
sorted(list, key=len)
在这里,len是Python的内置函数,用于计算元素的长度。
该列表根据其每个元素的长度(从最低到最高计数)进行排序。
示例3:使用键对列表进行排序
# 用第二个元素排序 def takeSecond(elem): return elem[1] # 随机列表 random = [(2, 2), (3, 4), (4, 1), (1, 3)] # 键排序列表 random.sort(key=takeSecond) # 打印列表 print('排序后的列表:', random)
运行该程序时,输出为:
排序后的列表: [(4, 1), (2, 2), (1, 3), (3, 4)]