给定一个项目,如何在 Python 中计算它在列表中的出现次数?
一个相关但不同的问题是计算集合中 每个不同元素 的出现次数,将字典或列表作为直方图结果而不是单个整数。对于该问题,请参阅 使用字典对列表中的项目进行计数。
原文由 weakish 发布,翻译遵循 CC BY-SA 4.0 许可协议
给定一个项目,如何在 Python 中计算它在列表中的出现次数?
一个相关但不同的问题是计算集合中 每个不同元素 的出现次数,将字典或列表作为直方图结果而不是单个整数。对于该问题,请参阅 使用字典对列表中的项目进行计数。
原文由 weakish 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 Counter
如果您使用的是 Python 2.7 或 3.x 并且您想要每个元素的出现次数:
>>> from collections import Counter
>>> z = ['blue', 'red', 'blue', 'yellow', 'blue', 'red']
>>> Counter(z)
Counter({'blue': 3, 'red': 2, 'yellow': 1})
原文由 user52028778 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
如果您只想要单个项目的计数,请使用
count
方法:重要提示:如果您要计算 多个 不同的项目,这会非常慢
每个
count
调用都会遍历n
元素的整个列表。在循环中调用count
n
times 意味着n * n
总检查,这对性能来说可能是灾难性的。如果要计算多个项目,请使用
Counter
,它只做n
总检查。