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

列表操作:Python排序函数使用方法详解

发布时间:2023-07-21 01:53:11

Python中的排序函数有两种:sorted()和sort()。

1. sorted()函数:

sorted()函数用于对列表进行临时排序,返回排序后的新列表,不改变原列表的顺序。使用方法如下:

sorted_list = sorted(list, key=None, reverse=False)

其中,list为要排序的列表,key为排序的关键字,reverse为排序方式,默认为升序。

示例:

numbers = [4, 2, 7, 1, 5]
sorted_numbers = sorted(numbers)
print(sorted_numbers)  # 输出:[1, 2, 4, 5, 7]

2. sort()函数:

sort()函数用于对列表进行原地排序,即改变原列表的顺序。使用方法如下:

list.sort(key=None, reverse=False)

其中,list为要排序的列表,key为排序的关键字,reverse为排序方式,默认为升序。

示例:

numbers = [4, 2, 7, 1, 5]
numbers.sort()
print(numbers)  # 输出:[1, 2, 4, 5, 7]

关键字参数key用于指定排序的规则。默认情况下,排序函数会按照元素的大小进行排序。但如果列表中的元素是复杂的对象,如字典或自定义类的实例,可以使用key参数来指定排序的规则。

示例:

students = [
    {'name': 'Alice', 'age': 20},
    {'name': 'Bob', 'age': 18},
    {'name': 'Charlie', 'age': 22}
]
sorted_students = sorted(students, key=lambda x: x['age'])
print(sorted_students)
# 输出:[{'name': 'Bob', 'age': 18}, {'name': 'Alice', 'age': 20}, {'name': 'Charlie', 'age': 22}]

在这个示例中,我们根据字典中的'age'键值进行排序,lambda函数定义了排序规则。

最后,关键字参数reverse用于指定排序的顺序,如果设为True,则降序排序。默认为False。

示例:

numbers = [4, 2, 7, 1, 5]
sorted_numbers = sorted(numbers, reverse=True)
print(sorted_numbers)  # 输出:[7, 5, 4, 2, 1]

总结:

- sorted()函数用于对列表进行临时排序,返回排序后的新列表,不改变原列表的顺序。

- sort()函数用于对列表进行原地排序,即改变原列表的顺序。

- 两种函数都可以接受key参数来指定排序的规则。

- sort()函数还可以接受reverse参数来指定排序的顺序。