求和两个collections.Counter()对象的内容

时间:2013-10-14 08:19:46

标签: python counter

我正在使用collections.Counter()个计数器。我想以有意义的方式结合其中两个。

假设我有2个计数器,比如说,

Counter({'menu': 20, 'good': 15, 'happy': 10, 'bar': 5})

Counter({'menu': 1, 'good': 1, 'bar': 3})

我想结束:

Counter({'menu': 21, 'good': 16, 'happy': 10,'bar': 8})

我该怎么做?

1 个答案:

答案 0 :(得分:59)

您需要做的就是添加它们:

>>> from collections import Counter
>>> a = Counter({'menu': 20, 'good': 15, 'happy': 10, 'bar': 5})
>>> b = Counter({'menu': 1, 'good': 1, 'bar': 3})
>>> a + b
Counter({'menu': 21, 'good': 16, 'happy': 10, 'bar': 8})

来自docs

  

提供了几个数学运算来组合Counter对象以生成多个集合(计数大于零的计数器)。加法和减法通过添加或减去相应元素的计数来组合计数器。