对于学校,我正在为游戏的排行榜编写一个小程序。 我为此使用了字典,玩家的名字作为键名,分数作为键值。 将有 10 场比赛,每场比赛都会有一个自动排名系统,我将其打印到文件中。 我已经设法编写了排名系统的代码,但现在我面临着一个更大的挑战,我无法解决:
我必须做一个总排名,这意味着某个玩家名可以在多个比赛中获得多个分数,但我只需要保留重复的最高分数。
简而言之:我需要一些帮助来保持具有最高值的重复键:
像这样:
dict1 = {"a": 6, "b": 4, "c": 2, "g": 1}
dict2 = {"a": 3, "f": 4, "g": 5, "d": 2}
dictcombined = {'a': 6, 'b': 4, 'c': 2, 'g': 5, 'f': 4, 'd': 2}
正常的合并选项只接受第二个字典和那个值。
提前谢谢
最佳答案
您需要有一个函数来跟踪每个玩家的最高分。如果还没有,它将添加一个玩家到总数中,否则如果它更高则添加它。 像这样的:
def addScores(scores, total):
for player in scores:
if player not in total or total[player] < scores[player]:
total[player] = scores[player]
关于python - 在字典中保留重复键的最高值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47082410/