我正在尝试对包含曲棍球队部门的字典进行排序。每个团队都是字典的一个元素,每个团队的值是一个包含点数 (PTS) 和 VRP 统计数据的字典。
我正在尝试根据每个分区内的球队得分降序对他们进行排序。每个部门的排序是独立的。
这是我的代码:
dic = {
"Atlantic": {
"TeamA": {"PTS": 80, "VRP": 35},
"TeamB": {"PTS": 65, "VRP": 31},
"TeamC": {"PTS": 80, "VRP": 30}
},
"Metropolitan": {
"TeamD": {"PTS": 60, "VRP": 29},
"TeamE": {"PTS": 65, "VRP": 28}
}
}
def ranking_sorting(ranking):
for division in ranking.values():
division = dict(sorted(division.items(), key=lambda x:x[1]["PTS"], reverse = True))
ranking_sorting(dic)
print(dic)
我尝试使用 lambda 函数作为排序函数中的键,以使用 key=lambda x:[1]["PTS"] 访问团队值内的 PTS 值。
这是我期望的结果:
{
"Atlantic": {
"TeamA": {"PTS": 80, "VRP": 35},
"TeamC": {"PTS": 80, "VRP": 30}
"TeamB": {"PTS": 65, "VRP": 31},
},
"Metropolitan": {
"TeamE": {"PTS": 65, "VRP": 28}
"TeamD": {"PTS": 60, "VRP": 29},
}
}
当我尝试打印字典时,我得到了原始字典,但它没有排序。
我想通了。我需要将“部门”团队分配给该部门:
def trier_classement(classement):
for nom_divison, equipes in classement.items():
equipes = dict(sorted(equipes.items(), key=lambda x:x[1]["PTS"], reverse = True))
classement[nom_divison] = equipes
部门团队确实已排序,但我没有将它们分配到主词典中。