How do I use `sorted` to sort a list of tuples?
本问题已经有最佳答案,请猛点这里访问。
这是我的元组列表
1 | [('Raven', '18'), ('Lion', '6'), ('Unassigned', '0'), ('Cobra', '6')] |
我想按元组中数字的值对它们进行排序,以达到这个顺序。
1 | [('Raven', '18'), ('Lion', '6'), ('Cobra', '6'), ('Unassigned', '0')] |
号
我应该使用
1 2 3 4 5 6 | lst = [('Raven', '18'), ('Lion', '6'), ('Unassigned', '0'), ('Cobra', '6')] print(sorted(lst, key=lambda x: -int(x[1]))) # or print(sorted(lst, key=lambda x: int(x[1]), reverse=True)) # Outputs: [('Raven', '18'), ('Lion', '6'), ('Cobra', '6'), ('Unassigned', '0')] |
您可以使用
1 2 | sorted(t, key = lambda x: int(x[1]), reverse=True) [('Raven', '18'), ('Lion', '6'), ('Cobra', '6'), ('Unassigned', '0')] |
号
这里,
1 2 | t = [int(x[1]) for x in t] # [18, 6, 0, 6] |
然后使用这个
1 2 | sorted(t, reverse=True) [18, 6, 6, 0] |
。