Spe*_*ccy 3 python dictionary set
我正在寻找一种Pythonic方式(尽可能少的代码)来统一两个词典的内容:
basket1 = {"ham":2,"eggs":3}
basket2 = {"eggs":4,"spam":1}
Run Code Online (Sandbox Code Playgroud)
我想获得第三个篮子,这将是另外两个篮子的总和,篮子3应该是:
basket3 --> {"ham":2,"eggs":7,"spam":1}
Run Code Online (Sandbox Code Playgroud)
如果可能的话,使用这样做 set
DSM*_*DSM 10
我会使用a Counter,这是一种defaultdict具有一些不错的属性:
>>> from collections import Counter
>>> basket1 = {"ham":2,"eggs":3}
>>> basket2 = {"eggs":4,"spam":1}
>>> basket_sum = Counter(basket1) + Counter(basket2)
>>> basket_sum
Counter({'eggs': 7, 'ham': 2, 'spam': 1})
Run Code Online (Sandbox Code Playgroud)
dict如果你想要的话你可以转换成纯的:
>>> dict(basket_sum)
{'eggs': 7, 'ham': 2, 'spam': 1}
Run Code Online (Sandbox Code Playgroud)