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

在Python中使用sorted()函数进行列表排序的方法

发布时间:2023-06-07 06:32:36

在Python中,如果需要对列表进行排序,就可以使用内置的sorted()函数进行排序。这个函数非常简单易用,只需要传入一个列表作为参数,并且会返回一个新的已经排好序的列表。下面我们来了解一下如何使用sorted()函数对列表进行排序。

1. 对数字列表进行排序

对于数字列表,我们可以直接对其进行排序,如下所示:

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_numbers = sorted(numbers)
print(sorted_numbers)

这段代码将会输出排好序的数字列表:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]。可以看到,sorted()函数默认是按照从小到大的顺序进行排序的。

2. 对字符串列表进行排序

如果是字符串列表,排序的逻辑也十分简单。同样是调用sorted()函数,只不过在传入的列表中是字符串而已,如下所示:

fruits = ["apple", "banana", "cherry", "durian", "grape"]
sorted_fruits = sorted(fruits)
print(sorted_fruits)

这段代码将会输出排好序的字符串列表,如下所示:

['apple', 'banana', 'cherry', 'durian', 'grape']

可以看到,按照字母顺序进行排序。

3. 对元组列表进行排序

元组列表也是可以进行排序的,这个时候只需要传入一个排序的键(key)参数即可。比如我们可以对元组列表按照第二个元素进行排序,如下所示:

students = [("Tom", 18), ("Jerry", 20), ("Jack", 17), ("Mary", 19)]
sorted_students = sorted(students, key=lambda student: student[1])
print(sorted_students)

这个时候,输出的排好序的元组列表是这样的:

[('Jack', 17), ('Tom', 18), ('Mary', 19), ('Jerry', 20)]

可以看到,按照年龄从小到大进行排序了。

4. 对字典列表进行排序

最后,也可以对字典列表进行排序,同样是使用key参数进行排序。比如我们可以对字典列表按照"age"字段进行排序,如下所示:

users = [{"name": "Tom", "age": 18}, {"name": "Jerry", "age": 20}, {"name": "Mary", "age": 19}]
sorted_users = sorted(users, key=lambda user: user["age"])
print(sorted_users)

这个时候,输出的排好序的字典列表是这样的:

[{'name': 'Tom', 'age': 18}, {'name': 'Mary', 'age': 19}, {'name': 'Jerry', 'age': 20}]

可以看到,按照年龄从小到大进行排序了。

综上所述,Python中使用sorted()函数进行排序非常简单,只需要传入一个列表参数即可。对于需要根据某个字段进行排序的情况,只需要传入一个key参数即可。