一尘不染

将重复键的最高值保留在字典中

python

对于学校,我正在为游戏的排名列表编写一个小程序。为此,我使用字典,将玩家的名称作为键名,将分数作为键值。将有10场比赛,每场比赛都有一个自动排名系统,我将其打印到文件中。香港专业教育学院已经设法编码排名系统,但现在我面临更大的挑战,我无法解决:

我必须进行总体排名,这意味着someplayername可以在具有多个得分的多个比赛中使用,但我只需要保留重复项中的最高得分即可。

简而言之 :我需要一些帮助来保持重复键的最高价值:

像这样:

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}

正常的合并选项只接受第二个dict,因此取该值。

提前thnx


阅读 301

收藏
2021-01-20

共1个答案

一尘不染

您需要具有一个跟踪每个玩家最高得分的功能。如果尚不存在,它将添加一个玩家到总数中;如果更高,则添加一个玩家。像这样:

def addScores(scores, total):
    for player in scores:
        if player not in total or total[player] < scores[player]:
            total[player] = scores[player]
2021-01-20