How to sum() the contents of multiple collections.Counter() objects with loop?
我研究这个问题已经有一段时间了,用于解决"组合"多个计数器()。对象或dict;但仍然无法完成。我发现下面有两个参考文献:
- 是否有任何方法可以将两个dict组合起来(为两个dict中出现的键添加值)?
- 求和两个collections.counter()对象的内容
例如,我有许多"counter type"变量名,顺序是
1 2 3 4 5 | Name:counter_1 Value:Counter({'a':1, 'b':2, 'c':3}) Name:counter_2 Value:Counter({'b':5, 'c':19, f:17}) Name:counter_3 Value:Counter({'a':11, 'b':22, 'c':33, 'd':97}) ... Name:counter_100 Value:Counter({'c':55, 'd':22, 'e':63, 'f':21}) |
如果我手动添加每一个
有没有更优雅或更简单的方法来求和()?
非常感谢!
只需使用内置函数
1 2 3 4 5 | >>> import collections >>> c1 = collections.Counter({'a':1, 'b':2, 'c':3}) >>> c2 = collections.Counter({'b':5, 'c':19, 'f':17}) >>> sum((c1, c2), collections.Counter()) Counter({'c': 22, 'f': 17, 'b': 7, 'a': 1}) |