📌  相关文章
📜  如何在 python 中对列表进行排序 - TypeScript (1)

📅  最后修改于: 2023-12-03 15:24:19.928000             🧑  作者: Mango

如何在 Python 中对列表进行排序

在 Python 中,列表是一种非常常见的数据结构。当从一个列表中提取出需要的信息时,数据通常需要被排序。这篇文章将介绍在 Python 中对列表进行排序的方法。

列表排序方法

Python 为列表提供了两种基本排序方法:

  1. sort() 方法

  2. sorted() 函数

两种方法都支持用于排序的关键字。

sort() 方法

使用列表的 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() 函数可以对列表进行拷贝并排序,并且不影响原始的列表。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() 函数则不影响原始的列表,而是返回一个已排序的列表。使用关键字参数可以对列表进行更复杂的排序。