Python列表(list)排序

Python列表(list)排序教程

Python 中,我们如果需要将 列表 排序,需要使用列表内置的 sort 函数。Python 的 sort 函数支持按照自定义的逻辑进行排序,同时也可以通过 reverse 参数来决定是正序排序还是倒叙排序。

如果列表中的元素不是每个都是可以比较的,那么 sort 函数会报错。

sort函数详解

语法

listname.sort(key, reverse)

参数

参数 描述
listname 需要排序的列表。
key 排序规则的函数,可以是系统内置的函数,也可以是自定义函数。
reverse reverse 参数用于设置是否需要反转排序,默认 False 表示从小到大排序;如果将该参数设为 True,将会改为从大到小排序。

说明

将列表 listname 排序,该 函数 不返回任何值,而是在原来的列表上做修改。

案例

列表排序

使用 sort 函数,排序列表

print("嗨客网(www.haicoder.net)") # 使用 sort 函数,排序列表 lis = ["Hello", "HaiCoder", "haicoder"] lis.sort() print("sortedList =", lis)

程序运行后,控制台输出如下:

36 python列表排序.png

我们使用 [] 创建了一个列表 lis,列表中有三个元素,接着,我们使用列表的 sort 函数,排序原来的列表。

倒叙排序

使用 sort 函数,倒叙排序列表

print("嗨客网(www.haicoder.net)") # 使用 sort 函数,倒叙排序列表 lis = ["Hello", "HaiCoder", "haicoder"] lis.sort(reverse=True) print("sortedList =", lis)

程序运行后,控制台输出如下:

37 python列表排序.png

我们使用 [] 创建了一个列表 lis,列表中有三个元素,接着,我们使用列表的 sort 函数加上 reverse 参数为 True,倒叙排列原来的列表。

列表元素不可比较

使用 sort 函数,排序列表元素不可比较,报错

print("嗨客网(www.haicoder.net)") # 使用 sort 函数,排序列表元素不可比较,报错 lis = ["Hello", "HaiCoder", 1024] lis.sort() print("sortedList =", lis)

程序运行后,控制台输出如下:

38 python列表排序.png

我们使用 [] 创建了一个列表 lis,列表中有三个元素,两个 string 类型的元素,一个 int 类型的元素,接着,我们使用列表的 sort 函数对该列表进行排序。

因此,默认的排序规则无法实现对 string 类型和 int 类型进行比较,因此程序报错。

Python列表(list)排序总结

在 Python 中,我们如果需要将列表排序,需要使用列表内置的 sort 函数。Python 的 sort 函数支持按照自定义的逻辑进行排序,同时也可以通过 reverse 参数来决定是正序排序还是倒叙排序。

如果列表中的元素不是每个都是可以比较的,那么 sort 函数会报错。 Python 列表(list) sort 函数语法:

listname.sort(key, reverse)