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

列表排序函数sorted()的用法

发布时间:2023-07-04 00:15:29

sorted()函数是Python内置的一个排序函数,它可以对列表进行排序。它的用法非常灵活,可以根据需要对列表进行升序排序、降序排序,以及对列表中的元素进行自定义排序。下面将详细介绍sorted()函数的用法。

1. 对列表进行升序排序

sorted()函数默认会对列表进行升序排序,即从小到大的顺序排列。使用方法如下:

nums = [2, 7, 1, 5, 3]
sorted_nums = sorted(nums)
print(sorted_nums)  # 输出[1, 2, 3, 5, 7]

2. 对列表进行降序排序

如果需要对列表进行降序排序,可以通过传递参数reverse=True来实现。使用方法如下:

nums = [2, 7, 1, 5, 3]
sorted_nums = sorted(nums, reverse=True)
print(sorted_nums)  # 输出[7, 5, 3, 2, 1]

3. 自定义排序函数

sorted()函数还支持自定义排序函数,通过传递参数key来指定自定义排序函数。自定义排序函数接收一个元素作为参数,并返回用于比较的值。使用方法如下:

def len_sort(s):
    return len(s)

names = ['Tom', 'Jerry', 'Mike', 'John']
sorted_names = sorted(names, key=len_sort)
print(sorted_names)  # 输出['Tom', 'Mike', 'John', 'Jerry']

在上面的例子中,自定义函数len_sort返回每个名字的长度作为用于比较的值,最终按照长度从小到大的顺序对名字进行排序。

4. lambda表达式排序

在不需要复用的情况下,可以使用lambda表达式来定义排序函数。使用lambda表达式可以简化代码。使用方法如下:

names = ['Tom', 'Jerry', 'Mike', 'John']
sorted_names = sorted(names, key=lambda s: len(s))
print(sorted_names)  # 输出['Tom', 'Mike', 'John', 'Jerry']

在上面的例子中,使用lambda表达式定义排序函数,返回每个名字的长度。

总结:

sorted()函数是Python中用于对列表进行排序的函数,常见的用法包括升序排序、降序排序和自定义排序函数。

- 对列表进行升序排序:sorted_nums = sorted(nums)

- 对列表进行降序排序:sorted_nums = sorted(nums, reverse=True)

- 自定义排序函数:sorted_names = sorted(names, key=len_sort)

- 使用lambda表达式进行排序:sorted_names = sorted(names, key=lambda s: len(s))

除了列表外,sorted()函数还可以用于对字符串、元组等可迭代对象进行排序。