python - 计算列表中每个项目的出现次数
问题描述
我想计算每个项目在列表中显示的次数。这是我所拥有的:
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
解决方案
你可以使用 a collections.Counter
:
from collections import Counter
cnt = Counter(['a', 'a', 'b', 'a'])
print(cnt) # Counter({'a': 3, 'b': 1})
因为 aCounter
在dict
下面,你可以这样做:
for char, count in cnt.items():
print(char, count)
# a 3
# b 1
推荐阅读
- automation - 使用番茄工作法的 Windows 10 最好的自由对焦应用程序是什么?
- python - 查找两个 pandas 数据框列之间的 Glove 相似性
- javascript - Node.js 事件循环问题
- python - 拆分和连接熊猫中多行的字符串
- python - 如何使用 pytest-qt 鼠标单击在 QTableWidget 中选择一个项目?
- bash - 在 UNIX 中使用通配符比较两个数组
- javascript - 如何按照从 Firebase 检索/插入的顺序将数组的数据附加到 DOM 元素?
- javascript - 没有使用 java 脚本更改 HTML 输入字段的属性
- javascript - 如何使用 lodash 中的 _.union 对打字稿中的多个数组进行重复数据删除?
- excel - Excel VBA:运行宏而不选择单元格