列表排序函数sorted()的用法
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()函数还可以用于对字符串、元组等可迭代对象进行排序。
