擅长:python、mysql、java
<p>首先,<code>a.update(b)</code>就地更新<code>a</code>,并返回<code>None</code>。
其次,<code>a.update(b)</code>不会帮助您对键进行求和;它只会生成一个字典,其结果字典包含来自<code>b</code>的所有键、值对:</p>
<pre><code>>>> a = {'alice':10, 'Bob':3, 'Carlie':1}
>>> b = {'alice':5, 'Bob':100, 'Carlie':1}
>>> a.update(b)
>>> a
{'alice': 5, 'Carlie': 1, 'Bob': 100}
</code></pre>
<p>使用<a href="https://docs.python.org/3/library/collections.html#collections.Counter" rel="nofollow">^{<cd6>}</a>来获得期望的结果是最简单的。另外,它还支持添加<code>+</code>:</p>
<pre><code>from collections import Counter
def add(dicA, dicB):
return dict(Counter(dicA) + Counter(dicB))
</code></pre>
<p>这将产生预期的结果:</p>
<pre><code>>>> print(add({'alice':10, 'Bob':3, 'Carlie':1}, {'alice':5, 'Bob':100, 'Carlie':1}))
{'alice': 15, 'Carlie': 2, 'Bob': 103}
</code></pre>