如何计算列表项的出现次数?

2022-09-05 00:47:44

给定一个项目,我如何在Python中计算它在列表中的出现次数?


一个相关但不同的问题是计算集合中每个不同元素的出现次数,将字典或列表作为直方图结果而不是单个整数。有关该问题,请参阅使用字典对列表中的项目进行计数


答案 1

如果只需要单个项目的计数,请使用以下方法:count

>>> [1, 2, 3, 4, 1, 4, 1].count(1)
3

重要提示:如果您要计算多个不同的项目,这将非常慢

每次调用都会遍历整个元素列表。循环调用时间意味着总检查,这对性能可能是灾难性的。countncountnn * n

如果要对多个项目进行计数,请使用计数器,它仅执行总计检查。n


答案 2

如果您使用的是 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})