Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.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 循环计数器和计数器_Python_Count_Iteritems - Fatal编程技术网

Python 循环计数器和计数器

Python 循环计数器和计数器,python,count,iteritems,Python,Count,Iteritems,我正在编写一段代码,迭代每个记录并打印一个称为interval的统计数据 for record in records: from collections import Counter count = Counter(intervals) for interval, frequency in count.iteritems(): print interval print frequency 输出如下所示: 记录1 199 7. 200

我正在编写一段代码,迭代每个记录并打印一个称为interval的统计数据

for record in records:

    from collections import Counter
    count = Counter(intervals)

    for interval, frequency in count.iteritems():
        print interval
        print frequency
输出如下所示:

记录1
199
7.
200
30
记录2
199
6.
200
30
在该示例中,在记录1中,存在间隔长度199的7个实例和间隔长度200的30个实例。在记录2中,有6个间隔长度199的实例和31个间隔长度200的实例。 我希望看到这两项记录的总体统计摘要,但无法确定如何获得这些结果:

所有记录
199
13
200
61

其中,在两个记录中,共有13个实例的间隔长度199(7+6)和61个实例的间隔长度200(30+31)。我无法获取如上所示的记录的总体统计摘要。

您需要存储频率计数的
for loop
外部变量 下面的例子可能会对您有所帮助

from collections import Counter


records = [[199,200,200], [200,199,200]]
freq_dist = Counter()                        # Variable store frequency distribution

for record in records:
    counts = Counter(record)
    freq_dist.update(counts)

for freq, value in freq_dist.items():
   print(freq, value)
输出:

200 4
199 2

参考资料

你能通过编辑你的帖子来澄清你的问题吗?对不起,你的问题到底是什么?另外,请修正你的缩进。你到底想知道什么?解释清楚…请正确缩进代码。您可以只添加一个变量,在每次迭代中添加1。我想用更全面的解释来修改你的代码,但我不确定哪些代码属于哪个循环{ahhh大括号之美}我想你想要一个
total=Counter()
在循环之外,然后每次你做
count=Counter(interval)
做一个
total.update(count)
。。。然后在循环外打印
total
?这将给你一路上的累计总数和最后的总数。。。(但我不完全确定…)当您已经在循环中使用
计数器
对象时,为什么要使用
defaultdict(int)
而不仅仅是
计数器
?好的。我得到了它。我不知道
计数器
支持
更新
@juanpa.arrivillaga感谢您的建议。更新答案。