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

62 浏览
0 Comments

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

如何在 Python 中统计列表中单个项的出现次数?


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

admin 更改状态以发布 2023年5月24日
0
0 Comments

如果您使用的是 Python 2.7 或 3.x 并且想要获取每个元素的出现次数,请使用 Counter

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

0
0 Comments

如果您只想计算单个项的数量,请使用count方法:

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


重要提示:如果您要计算多个不同项,则速度会非常慢

每次count调用都要遍历包含n个元素的整个列表。如果循环调用count n次,则总共需要n * n次检查,这可能对性能产生灾难性的影响。

如果您想要计算多个项,请使用Counter,这只需要进行n次检查。

0