Python 3-如何将一个字典中的键与另一个字典进行比较,将它们的值相加,并将结果存储在第一个字典的值中?

标签 python dictionary key key-value

dict_two 的值出现在 dict_one 中时,我想添加相应的值,将它们存储在 dict_one 中,在 Pythonic 中方式,如果可能的话。

dict_one = {'rose':5,
            'daisy':5,
            'lily':5,
            'anthurium':5,
            'sunflower':5}

dict_two = {'rose':1,
            'lily':2,
            'sunflower':5}

for i in dict_two:
    if i in dict_two.keys():
        dict_one[i] += dict_two[i]

print(dict_one)

最佳答案

你可以像这样使用字典理解:

{k: v + dict_two.get(k, 0) for k, v in dict_one.items()}

返回:

{'rose': 6, 'daisy': 5, 'lily': 7, 'anthurium': 5, 'sunflower': 10}

或者,如果您更喜欢就地更新 dict_one:

dict_one.update({k: v + dict_one[k] for k, v in dict_two.items() if k in dict_one})

关于Python 3-如何将一个字典中的键与另一个字典进行比较,将它们的值相加,并将结果存储在第一个字典的值中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52268742/

相关文章:

python - 如何停止 Tkinter 文本小部件在字体更改时调整大小?

python - 在 Python 中编写这个十六进制格式化函数的不太糟糕的方法是什么?

java - AES key 从 javacard 到 java,加密

C++ 自定义 std::map<> 键类导致内存冲突

python - 如何在 Django 中获取带有用户 ID 的 ManyToManyField 对象?

objective-c - Cocoa 中的双向映射

c# - 如何计算 C# 中嵌套字典中 int 值的出现次数

dictionary - Clojure:将具有关键字键的映射转换为具有等效字符串键的映射

json - JQ:如何根据正则表达式匹配替换键和值?

python - 在ming中创建连接之前声明模型