欢迎访问宙启技术站
智能推送

Python中的列表函数:sort()

发布时间:2023-06-03 19:48:35

Python中的列表是一种非常常用的数据结构,它可以存储多个元素,并可以进行添加、删除、修改、查找等操作。Python中的列表还可以使用sort()函数进行排序,即将列表中的元素根据一定的规则进行排序。

sort()函数的用法非常简单,例如:

lst = [3, 5, 2, 1, 4]
lst.sort()
print(lst)

输出结果为:

[1, 2, 3, 4, 5]

sort()默认按照升序排序,也可以使用reverse=True进行降序排序。例如:

lst = [3, 5, 2, 1, 4]
lst.sort(reverse=True)
print(lst)

输出结果为:

[5, 4, 3, 2, 1]

sort()函数还可以接收一个key参数,用于指定一个函数来生成排序的关键字。例如:

lst = ["apple", "banana", "Watermelon", "Orange"]
lst.sort(key=str.lower)
print(lst)

输出结果为:

['apple', 'banana', 'Orange', 'Watermelon']

在上面的例子中,我们使用了str.lower函数作为关键字函数,它将所有字符串转换成小写字母并进行排序。

当然,sort()函数也可以用于自定义排序规则。只需要定义一个比较函数,然后将函数名传给sort()函数的key参数即可。例如:

# 定义比较函数
def cmp(x):
    return x % 10

lst = [23, 44, 11, 52, 85]
lst.sort(key=cmp)
print(lst)

输出结果为:

[52, 23, 44, 85, 11]

在上面的例子中,比较函数cmp()返回了列表元素除以10的余数作为排序关键字,因此排序结果就是按照余数升序排序。

需要注意的是,sort()函数会直接修改原列表,如果不想修改原列表,可以使用sorted()函数,它会返回一个排序后的新列表。例如:

lst = [3, 5, 2, 1, 4]
lst_sorted = sorted(lst)
print(lst)
print(lst_sorted)

输出结果为:

[3, 5, 2, 1, 4]
[1, 2, 3, 4, 5]

总之,sort()函数是Python中非常方便的排序函数,它可以对列表中的元素进行排序,并支持自定义排序规则。需要注意的是,sort()函数会直接修改原列表,如果不想修改原列表,可以使用sorted()函数。