在开发的过程可能会遇到这么一个需求,存在一个列表嵌套元组的数据:
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.按照第二个元素的大小进行排序
先将元组的元素进行倒转:
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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)]