Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用循环对多个collections.Counter()对象的内容求和?_Python_Dictionary_Sum_Counter - Fatal编程技术网

Python 如何使用循环对多个collections.Counter()对象的内容求和?

Python 如何使用循环对多个collections.Counter()对象的内容求和?,python,dictionary,sum,counter,Python,Dictionary,Sum,Counter,我研究这个问题已经有一段时间了, 用于解算多个计数器();但还是无法完成。 我在下面找到了两个参考资料: 例如,我有许多“计数器类型”变量名,顺序为[1到100]: 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':9

我研究这个问题已经有一段时间了, 用于解算多个计数器();但还是无法完成。 我在下面找到了两个参考资料:

例如,我有许多“计数器类型”变量名,顺序为
[1到100]

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})
如果我手动添加每一个
counter_1+counter_2+…+计数器3,它会让我发疯的

有没有更优雅或更简单的方法来实现这一切
万分感谢

只需使用内置函数
sum()
,并为其指定一个空
计数器的适当起始值

>>> 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})

如果我必须从c1到c100求和怎么办?tk您可以将它们全部放入
列表中
。你应该已经这么做了。通过
计数器100
,您是否真的有单独的变量
计数器1
?是的。我尝试了一些类似(但类型错误)
sum(local()['counter_u'+str(I)for I in(1100)],counter())
。我也是python新手。你的第一步应该首先避免使用100个单独的命名变量,正如TigerhawkT3所说,使用列表(或字典,取决于你对数字的关注程度)。另一个问题:我如何声明一个没有任何值的
计数器类型
变量?(当我考虑避免把100个分开命名)