首页 > 解决方案 > 计算列表中每个项目的出现次数

问题描述

我想计算每个项目在列表中显示的次数。这是我所拥有的:

for i in range(len(alist)):
    print(alist[i], alist.count(i))

现在的问题是,如果列表中有例如 7 个相同的事件,它正在打印

a 0
a 0
a 0 
a 0
a 0
a 0
a 0

而不是我想要的

a 7

标签: python

解决方案


你可以使用 a collections.Counter

from collections import Counter

cnt = Counter(['a', 'a', 'b', 'a'])
print(cnt)  # Counter({'a': 3, 'b': 1})

因为 aCounterdict下面,你可以这样做:

for char, count in cnt.items(): 
    print(char, count)

# a 3
# b 1

推荐阅读