从源头上;
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
似乎Counter实现为删除 键,这些键的总和为零 。由于默认值为零,并且源也为零,因此结果字典不包含该键。
也许您可以通过update获得相同的行为:
a.update(b)
似乎可以满足您的要求。可能较慢,该
__add__方法的手工实现会快得多。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)