python - 如何从字典中减去值

标签 python dictionary

我有两个 Python 字典:

d1 = {'a': 10, 'b': 9, 'c': 8, 'd': 7}
d2 = {'a': 1, 'b': 2, 'c': 3, 'e': 2}

我想在字典 d1-d2 之间减去值并得到结果:

d3 = {'a': 9, 'b': 7, 'c': 5, 'd': 7 }

现在我使用两个循环,但这个解决方案不是太快

for x,i in enumerate(d2.keys()):
        for y,j in enumerate(d1.keys()):

最佳答案

我认为一种非常 Pythonic 的方式是使用 dict comprehension :

d3 = {key: d1[key] - d2.get(key, 0) for key in d1}

请注意,这只适用于 Python 2.7+ 或 3。

关于python - 如何从字典中减去值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17671875/

相关文章:

python - Pandas groupby 获取行匹配条件的组的第一个元素

Python:无法轻松安装 (Windows 7 x64)

python - 将数据框保存和加载到 csv 导致未命名列

python - 我如何迭代表并打印列的值 Selenium Webdriver Python

c++ - 如何在 map 中存储模板对象

python - 如何制作具有不同索引数量和顺序的三组字典中的三列的条形图?

python - 舍入到 pandas 数据框中最接近的最小值

swift - 想要从 firebase 获取用户数据到字典中

python - 如何最好地合并多个字典中的值?

javascript - js如何简洁实现map[index]++