我正在寻找汇总python中的计数器列表。例如,求和:
counter_list = [Counter({"a":1, "b":2}), Counter({"b":3, "c":4})]
给 Counter({'b': 5, 'c': 4, 'a': 1})
我可以得到以下代码来进行求和:
counter_master = Counter()
for element in counter_list:
counter_master = counter_master + element
但是我对为什么counter_master = sum(counter_list)
导致错误感到困惑TypeError: unsupported operand type(s) for +: 'int' and 'Counter'
?如果可以将计数器加在一起,为什么不能将它们加起来?
该sum
函数具有可选的start参数,默认为0。引用链接的页面:
sum(iterable[, start])
资金开始和的项目迭代由左到右,并返回总
将start设置为(空)Counter
对象以避免TypeError
:
In [5]: sum(counter_list, Counter())
Out[5]: Counter({'b': 5, 'c': 4, 'a': 1})
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句