我知道如何根据值对字典列表进行排序,但是在这个问题中,我有几个条件需要根据列表进行排序。想象一下4支足球球队的名单,就像世界杯的小组赛阶段。对于每一支球队,我们都有一本字典,里面有球队的胜利者、输家和分数。现在,我们需要首先根据每个队的分数对列表进行排序,如果分数相等,那么根据胜利来排序,如果胜利是根据他们的名字相等的。用Python怎么可能?
teams=[{'name':'first_team,'wins':3,'loses':0,'points':9},
{'name':'second_team,'wins':2,'loses':1,'points':6},
{'name':'third_team,'wins':1,'loses':2,'points':3},
{'name':'fourth_team,'wins':0,'loses':3,'points':0}]
现在我知道了,我可以根据一个条件对列表进行排序,比如点数:
new_list=sorted(teams, key=lambda d:d['points])
但我怎样才能把另外两个条件加起来呢?
发布于 2022-11-11 09:48:23
只需像这样指定它们:
new_list=sorted(teams, key=lambda d: (d['points'], d['wins'], d['names']))
https://stackoverflow.com/questions/74400569
复制相似问题