📜  ordenar lista python (1)

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

Python中的列表排序

在Python中,我们可以使用List.sort()和sorted()方法对列表进行排序。

List.sort()方法

List.sort()方法是对原列表进行排序,该方法不会返回一个新的列表,而是直接对原始列表进行修改。

# 以从小到大的顺序对列表进行排序
num_list = [9, 1, 6, 3, 2]
num_list.sort()
print(num_list)  # Output: [1, 2, 3, 6, 9]

# 以从大到小的顺序对列表进行排序
num_list = [9, 1, 6, 3, 2]
num_list.sort(reverse=True)
print(num_list)  # Output: [9, 6, 3, 2, 1]
sorted()方法

sorted()方法返回一个排序后的新列表,而不是对原始列表进行修改。

# 从小到大对列表进行排序
num_list = [9, 1, 6, 3, 2]
new_list = sorted(num_list)
print(new_list)  # Output: [1, 2, 3, 6, 9]

# 从大到小对列表进行排序
num_list = [9, 1, 6, 3, 2]
new_list = sorted(num_list, reverse=True)
print(new_list)  # Output: [9, 6, 3, 2, 1]
按照特定规则进行排序

除了默认的从小到大和从大到小排序外,我们还可以按照特定的规则进行排序。

# 按照第二个元素进行排序
a_list = [(1, 2), (3, 1), (2, 3)]
new_list = sorted(a_list, key=lambda x: x[1])
print(new_list)  # Output: [(3, 1), (1, 2), (2, 3)]

# 按照第一个元素进行排序,如果相同则按照第二个元素的倒序进行排序
b_list = [(2, 3), (1, 2), (2, 1)]
new_list = sorted(b_list, key=lambda x: (x[0], -x[1]))
print(new_list)  # Output: [(1, 2), (2, 3), (2, 1)]

在以上示例中,我们使用了key参数来指定对元素进行排序的规则。对于元组等复合类型的数据结构,我们可以将key参数设置为一个函数,函数返回值将被用来比较元素的大小。