Python 循环计数器和计数器
我正在编写一段代码,迭代每个记录并打印一个称为interval的统计数据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
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感谢您的建议。更新答案。