📅  最后修改于: 2023-12-03 15:24:19.928000             🧑  作者: Mango
在 Python 中,列表是一种非常常见的数据结构。当从一个列表中提取出需要的信息时,数据通常需要被排序。这篇文章将介绍在 Python 中对列表进行排序的方法。
Python 为列表提供了两种基本排序方法:
sort()
方法
sorted()
函数
两种方法都支持用于排序的关键字。
使用列表的 sort()
方法可以原地对列表进行排序,这意味着该方法将改变原始的列表。sort()
方法分为正序排序和倒序排序。
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
# 正序排序
lst.sort()
print(lst)
# 倒序排序
lst.sort(reverse=True)
print(lst)
输出:
[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
使用 sorted()
函数可以对列表进行拷贝并排序,并且不影响原始的列表。sorted()
函数也可以使用关键字参数。
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
# 正序排序
sorted_lst = sorted(lst)
print(sorted_lst)
# 倒序排序
sorted_lst = sorted(lst, reverse=True)
print(sorted_lst)
输出:
[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
使用关键字参数可以对列表进行更复杂的排序。例如,可以按照元素的某个属性排序。
lst = [('apple', 3), ('banana', 2), ('orange', 4), ('pear', 1)]
sorted_lst = sorted(lst, key=lambda x: x[1])
print(sorted_lst)
输出:
[('pear', 1), ('banana', 2), ('apple', 3), ('orange', 4)]
上述例子中,我们按照元组的第二个元素进行排序。
Python 中的两种排序方法都可以对列表进行排序。sort()
方法是原地排序,即不创建新的排序后的列表。而 sorted()
函数则不影响原始的列表,而是返回一个已排序的列表。使用关键字参数可以对列表进行更复杂的排序。