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

排序函数 - Python中排序列表的多种方法

发布时间:2023-06-21 01:00:43

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中排序列表的多种方法,根据不同的需求选择不同的方法进行排序。