Python 使用累积值结果扩展dict和anoter dict

Python 使用累积值结果扩展dict和anoter dict,python,python-3.x,function,dictionary,Python,Python 3.x,Function,Dictionary,我想用另一个扩展一个给定的dict,但是如果一个键已经存在,我必须累加这些值 例如: 让我们考虑一个给定的函数叫做累积累积更新和两个DATTS A和B: a = { "a" : 1, "b" : 2, "c" : 1 } b = { "c" : 3, "d" : 4 } a.cumulative_update(b) 结果应该是: {'a':1,'b':2,'c':4,'d':4} 但是,当我使用

我想用另一个扩展一个给定的dict,但是如果一个键已经存在,我必须累加这些值

例如:

让我们考虑一个给定的函数叫做累积累积更新和两个DATTS A和B:

a = { "a" : 1, "b" : 2, "c" : 1 }
b = { "c" : 3, "d" : 4 }
a.cumulative_update(b)
结果应该是:

{'a':1,'b':2,'c':4,'d':4}

但是,当我使用默认的append函数时:

a.update(b)
我得到:

{'a':1,'b':2,'c':3,'d':4}


我还找到了一种在中附加值的解决方案,但它基于键,这在我的情况下是不可能的。

您可以使用
计数器

from collections import Counter

a = { "a" : 1, "b" : 2, "c" : 1 }
b = { "c" : 3, "d" : 4 }

result = Counter(a) + Counter(b)
输出:

Counter({'c': 4, 'd': 4, 'b': 2, 'a': 1})
输出:

{'a': 1, 'b': 2, 'd': 4, 'c': 4}

这才是真正闪耀的地方:。这本书读起来不错。请检查解决方案是的,非常好,我们可以使用计数器
{'a': 1, 'b': 2, 'd': 4, 'c': 4}