当前位置: 首页 > 面试题库 >

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

淳于飞鸾
2023-03-14
问题内容

对于学校,我正在为游戏的排名列表编写一个小程序。为此,我使用字典,将玩家的名称作为键名,将分数作为键值。将有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


问题答案:

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

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


 类似资料:
  • 问题内容: 有什么办法可以在字典中存储重复的键? 我对形成请求和响应对有具体要求。 从特定节点到另一个特定节点的请求形成相同的密钥。我需要将它们都存储。 但是,如果我尝试将它们添加到字典中,则第一个被替换为第二个。有什么办法吗? 问题答案: 我可以想到两个简单的选项,假设您想继续使用字典。 您可以将键映射到项目列表。一个从模块让一切变得简单。 data = collections.defaultd

  • 问题内容: 如何从字典中检索前3个列表? 预期结果: 问题答案: 用途: 计数器对象还具有其他各种优点,例如,使收集计数变得非常简单。

  • 我很难理解下面的代码是如何在字典中找到最大值的键的。我知道第一个参数返回键列表。但我没有得到第二个参数..帮帮我

  • 我有一个数据帧,在a列中有重复值。我想删除重复值,保留b列中值最高的行。 所以这个: 应该变成这个: 我猜可能有一种简单的方法可以做到这一点——可能就像在删除重复项之前对数据帧进行排序一样简单——但我对groupby的内部逻辑了解不够,无法搞清楚。有什么建议吗?

  • 假设我有以下数据帧: 我想删除基于列A、B和C的重复项,保留列E最高的行。如果E列中的值相同,则保留D列最高的行。 所以上面的数据帧会变成: 我在那里看到了答案的开头:python熊猫:按列A删除重复项,保留列B中值最高的行,但不幸的是,我无法找到如何处理如果列E中的值相同,则保留列D中的最高值:/ (我正在一个相当大的数据集上运行此代码) 任何帮助赞赏!

  • 问题内容: 因此,我对以下方面的理解: 当然,问题在于,如果存在多个具有相同值的s,则它们会折叠在一起,最后一个以那个唯一的唯一成员存在。我实际上想将结果字典的值列出: 这种理解是否可能? 问题答案: 您可以将元素一一添加到默认情况下包含空列表的字典中: 您也可以执行非常相似的操作,而不必使用collections模块: 但这可以说是不太清晰。 一个等效的,更清晰的(不需​​要“解析”不太常见的)