排序函数 - Python中排序列表的多种方法
Python提供了多种排序列表的方法,这些方法可以根据不同的需求选择合适的方法进行排序。下面介绍几种常用的排序函数。
sorted()函数
sorted()函数是Python内置的排序函数,可以按照元素的大小进行排序。它可以对列表、元组、字符串、字典等进行排序。示例代码如下:
numbers = [5, 2, 4, 6, 1, 3]
print(sorted(numbers))
结果输出为:[1, 2, 3, 4, 5, 6]
sort()方法
sort()方法是列表对象的一个方法,是对列表进行永久性排序。示例代码如下:
numbers = [5, 2, 4, 6, 1, 3]
numbers.sort()
print(numbers)
结果输出为:[1, 2, 3, 4, 5, 6]
reverse参数
sort()方法还有一个reverse参数,可以用来决定是升序还是降序排序。如果reverse为True,则表示逆序排序,即降序排列;如果reverse为False,则表示正序排序,即升序排列。示例代码如下:
numbers = [5, 2, 4, 6, 1, 3]
numbers.sort(reverse=True)
print(numbers)
结果输出为:[6, 5, 4, 3, 2, 1]
sorted()和sort()的区别
sorted()函数和sort()方法的区别在于,sorted()函数对原列表进行排序不产生影响,而sort()方法直接修改原列表。如果不想修改原列表,则建议使用sorted()函数进行排序。
lambda函数
lambda函数是Python中一种匿名函数,可以用它来自定义排序规则。示例代码如下:
students = [('Tom', 25), ('Jack', 22), ('Mike', 18), ('Alex', 20)]
students_sort = sorted(students, key=lambda x: x[1])
print(students_sort)
结果输出为:[('Mike', 18), ('Alex', 20), ('Jack', 22), ('Tom', 25)]
key参数
sort()方法和sorted()函数都有一个key参数,用来指定排序规则,如下面代码示例:
numbers = [23, 45, 12, 6, 9, 36]
numbers_sort = sorted(numbers, key=lambda x: -x)
print(numbers_sort)
结果输出为:[45, 36, 23, 12, 9, 6]
以上就是Python中排序列表的多种方法,根据不同的需求选择不同的方法进行排序。
