Python 中的 sort() 函数用于按用户定义的顺序(升序或降序)对列表进行排序。默认情况下,sort() 按升序排序。
list.sort(key=..., reverse=...) #where key is function name
此函数接受两个可选参数。我们也可以使用 **sorted(list, key=..., reverse=...)** 方法实现相同的目的。区别在于 sorted() 方法不会改变原始列表并返回一个已排序的列表,而 sort() 方法会直接改变原始列表并且不返回任何值。
| 参数 | 描述 | 必需/可选 |
|---|---|---|
| reverse | 如果为 True,则排序后的列表将反转(或按降序排列) | 可选 |
| 键 | 用作排序比较键的函数 | 可选 |
sort() 方法不返回任何值。它通过更改元素的顺序来更新原始列表。要返回已排序列表而不更改原始列表,我们可以使用 sorted() 方法。
# alphabets list
alphabets = ['b', 'a', 'e', 'd', 'c']
# sort the alphabets
alphabets.sort()
# print alphabets
print('Sorted list:', alphabets)
输出
Sorted list: ['a', 'b', 'c', 'd', 'e']
# alphabets list
alphabets = ['b', 'a', 'e', 'd', 'c']
# sort the alphabets
alphabets.sort(reverse=True)
# print alphabets
print('Sorted list in Descending order:', alphabets)
输出
Sorted list in Descending order: ['e', 'd', 'c', 'b', 'a']
# take second element for sort
def second(elem):
return elem[1]
# random list
randomlist = [(2, 2), (3, 4), (4, 1), (1, 3)]
# sort list with key
randomlist.sort(key=second)
# print list
print('Sorted list:', randomlist)
输出
Sorted list: [(4, 1), (2, 2), (1, 3), (3, 4)]