python - 合并 2 个字典中的值 (Python)

标签 python dictionary

(我是 Python 新手!) 试图弄清楚这个家庭作业问题: 该函数将采用两个字典作为输入,每个字典将字符串映射到整数。该函数将返回一个字典,该字典将两个输入字典中的字符串映射到两个输入字典中的整数之和。

我的想法是这样的:

def ​add(​dicA,dicB):
    dicA = {}
    dicB = {}
    newdictionary = dicA.update(dicB)

但是,这会返回 None

在教授的例子中:

print(add({'alice':10, 'Bob':3, 'Carlie':1}, {'alice':5, 'Bob':100, 'Carlie':1}))

输出是:

{'alice':15, 'Bob':103, 'Carlie':2}

我的问题确实是我不明白如何将每个词典中的值相加。我知道字典不支持“+”。我不想找任何人帮我做功课,但如果有任何建议,我将不胜感激!

最佳答案

来自documentation :

update([other])

Update the dictionary with the key/value pairs from other, overwriting existing keys. Return None.

您不想替换键/值对,您想要为相似的键添加值。遍历每个字典并将每个值添加到相关键:

def ​add(​dicA,dicB):
    result = {}
    for d in dicA, dicB:
        for key in d:
            result[key] = result.get(key, 0) + d[key]
    return result

result.get(key, 0) 将检索现有 key 的值或生成 0 如果 key 还不存在。

关于python - 合并 2 个字典中的值 (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36391172/

相关文章:

python - python是如何实现拼接的?

C++ map.erase() 导致不必要的平衡

Python从配置创建字典的字典

python - 如何在 SQLAlchemy 中获取两个模型实例的关系信息?

python - 如何区分 numpy 数组和 Python 的内置对象

python - 在父类中实现继承方法

python - python中迭代语句后是否存在迭代变量?

python - 查找字典中的值变化和索引

ios - 从字典中解包可选类型 Any

python - 如何将元组列表转换为 Python 中的字典字典?