擅长:python、mysql、java
<p>从<a href="http://hg.python.org/cpython/file/2.7/Lib/collections.py#l590" rel="noreferrer">source</a></p>
<pre><code>def __add__(self, other):
'''Add counts from two counters.
>>> Counter('abbb') + Counter('bcc')
Counter({'b': 4, 'c': 2, 'a': 1})
'''
if not isinstance(other, Counter):
return NotImplemented
result = Counter()
for elem, count in self.items():
newcount = count + other[elem]
if newcount > 0:
result[elem] = newcount
for elem, count in other.items():
if elem not in self and count > 0:
result[elem] = count
return result
</code></pre>
<p>计数器的实现似乎是删除和为零的非正键的<strike>键。由于默认值为零,并且源代码也为零,因此生成的dict不包含该键。</p>
<p>也许你可以用update得到同样的行为:</p>
^{pr2}$
<p>好像做了你想做的事。可能速度较慢,手工实现<code>__add__</code>方法会快得多。</p>