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

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

解决办法

如果你只想要一个项目的计数,请使用count方法。

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

如果你想计算多个项目,请不要使用这个方法。在一个循环中调用count,需要在每次调用count时对列表进行单独的传递,这对性能来说是灾难性的。如果你想计算所有的项目,甚至只是多个项目,请使用Counter,正如其他答案所解释的。

评论(1)

如果你使用的是Python 2.7或3,并且你想要每个元素的出现次数。

>>> from collections import Counter
>>> z = ['blue', 'red', 'blue', 'yellow', 'blue', 'red']
>>> Counter(z)
Counter({'blue': 3, 'red': 2, 'yellow': 1})
评论(4)