如何计算列表项的出现次数?
给定一个项目,我如何在Python中计算它在列表中的出现次数?
一个相关但不同的问题是计算集合中每个不同元素的出现次数,将字典或列表作为直方图结果而不是单个整数。有关该问题,请参阅使用字典对列表中的项目进行计数。
给定一个项目,我如何在Python中计算它在列表中的出现次数?
一个相关但不同的问题是计算集合中每个不同元素的出现次数,将字典或列表作为直方图结果而不是单个整数。有关该问题,请参阅使用字典对列表中的项目进行计数。
如果只需要单个项目的计数,请使用以下方法:count
>>> [1, 2, 3, 4, 1, 4, 1].count(1)
3
每次调用都会遍历整个元素列表。循环调用时间意味着总检查,这对性能可能是灾难性的。count
n
count
n
n * n
如果要对多个项目进行计数,请使用计数器
,它仅执行总计检查。n
如果您使用的是 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})