📜  pyhon 对元组列表进行排序 - Python (1)

📅  最后修改于: 2023-12-03 14:45:44.840000             🧑  作者: Mango

Python 对元组列表进行排序

在 Python 中,可以使用 sorted() 函数对元组列表进行排序,也可以使用 sort() 方法对元组列表进行排序。本文将介绍这两种方法的使用。

sorted() 函数排序元组列表

sorted() 函数可以接受一个可迭代对象,并返回一个新的列表。默认情况下,sorted() 函数按照元素升序排列,但是也可以通过 reverse 参数设置降序排列。

以下是一个简单的示例:

tuples_list = [(2, 'b'), (1, 'a'), (3, 'c')]
sorted_list = sorted(tuples_list)
print(sorted_list)
# 输出: [(1, 'a'), (2, 'b'), (3, 'c')]

sorted_list = sorted(tuples_list, reverse=True)
print(sorted_list)
# 输出: [(3, 'c'), (2, 'b'), (1, 'a')]
sort() 方法排序元组列表

元组列表还可以用 sort() 方法进行排序。与 sorted() 函数不同的是,sort() 方法会修改原先的列表。

以下是一个简单的示例:

tuples_list = [(2, 'b'), (1, 'a'), (3, 'c')]
tuples_list.sort()
print(tuples_list)
# 输出: [(1, 'a'), (2, 'b'), (3, 'c')]

tuples_list.sort(reverse=True)
print(tuples_list)
# 输出: [(3, 'c'), (2, 'b'), (1, 'a')]
自定义排序键

在排序元组列表时,还可以指定自定义排序键。例如,如果要根据元组中的第二个元素进行排序,则可以使用 lambda 函数作为排序键。

以下是一个示例:

tuples_list = [(2, 'b'), (1, 'a'), (3, 'c')]
sorted_list = sorted(tuples_list, key=lambda x: x[1])
print(sorted_list)
# 输出: [(1, 'a'), (2, 'b'), (3, 'c')]

tuples_list.sort(key=lambda x: x[1], reverse=True)
print(tuples_list)
# 输出: [(3, 'c'), (2, 'b'), (1, 'a')]

这里的 lambda 函数返回元组中的第二个元素,即字符串。sorted() 函数和 sort() 方法都接受一个 key 参数,用来指定排序的键。

结论

Python 中提供了多种用于排序元组列表的方法,包括 sorted() 函数和 sort() 方法。除此之外,还可以使用自定义排序键来实现更加灵活的排序方式。