Python 求两个collections.Counter()对象内容的和
我正在使用Python 求两个collections.Counter()对象内容的和,python,counter,Python,Counter,我正在使用collections.Counter()counters。我想以一种有意义的方式将其中两项结合起来 假设我有两个计数器 Counter({'menu': 20, 'good': 15, 'happy': 10, 'bar': 5}) 及 我试图以以下方式结束: Counter({'menu': 21, 'good': 16, 'happy': 10,'bar': 8}) 我如何才能做到这一点?您只需添加它们: >>> from collections impor
collections.Counter()
counters。我想以一种有意义的方式将其中两项结合起来
假设我有两个计数器
Counter({'menu': 20, 'good': 15, 'happy': 10, 'bar': 5})
及
我试图以以下方式结束:
Counter({'menu': 21, 'good': 16, 'happy': 10,'bar': 8})
我如何才能做到这一点?您只需添加它们:
>>> 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})
从:
提供了几种数学运算,用于组合计数器对象以生成多集(计数大于零的计数器)。加法和减法通过增加或减少相应元素的计数来组合计数器
请注意,如果您想通过修改
计数器而不是创建一个新的计数器来节省内存,您可以执行a.update(b)
或b.update(a)
只需对它们求和即可。更具体地说,sum(counters,Counter())
确保求和算法以计数器基数而不是简单的数字基数开始。
>>> 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})