我有一个包含(名称,分数)的元组列表。
我想对第二个元素上的列表进行排序(reverse = True),如果两个名称相似,则对第一个元素进行排序,但不使用反向。
我对任务的第二部分有问题,我自己找不到任何解决方案,我自己也找不到任何解决方案。
感谢您考虑我的问题。
假设这是以下列表:
averages = [('Ryan',7), ('Brian',11), ('Aiden',11), ('Jack',7), ('Mia',20)]
我使用 lambda 来实现它,如下所示:
averages.sort(key=lambda x: (x[1],x[0]),reverse=True)
#output:
[('Mia', 20), ('Brian', 11), ('Aiden', 11), ('Ryan', 7), ('Jack', 7)]
但是我想要的输出是:
[('Mia', 20), ('Aiden', 11), ('Brian', 11), ('Jack', 7), ('Ryan', 7),]
试试这个:
averages.sort(key=lambda x: (-x[1], x[0]))