在开发的过程可能会遇到这么一个需求,存在一个列表嵌套元组的数据:
data = [(1, 'a'),(2, 'b'),(5, 'c'),(3, 'd'),(4, 'e')]
需要将这个列表按照元组的第一个或者第二个元素进行排序, 这时可以直接使用内置函数sorted()进行处理
1.按照第一个元素的大小进行排序
new_data = sorted(data)
print(new_data)
输出:
[(1, 'a'), (2, 'b'), (3, 'd'), (4, 'e'), (5, 'c')]
2.按照第二个元素的大小进行排序
先将元组的元素进行倒转:
data = [(1, 'a'),(5, 'c'),(2, 'b'),(3, 'd'),(4, 'e')] new_list = [] for item in data: new_list.append(item[::-1]) print(new_list)
输出:
[('a', 1), ('c', 5), ('b', 2), ('d', 3), ('e', 4)]
然后再进行排序:
new_data = sorted(new_list) print(new_data)
输出:
[('a', 1), ('b', 2), ('c', 5), ('d', 3), ('e', 4)]