在python中,很容易获得列表中特定项目的计数:
>>> L = [1,1,1,2,3,4]
>>> print(L.count(1))
3
这种方法是O(N)吗?是否建议使用此方法,或者是否有更好的方法可以快速获取列表中任意数量的元素的计数(即避免O(mN)的方法,其中m是对其调用的记录数) count
是必需的。)
答案 0 :(得分:4)
是的,如果您需要在迭代中计算多次,请使用collections.Counter
。然后你只需要迭代一次。
>>> from collections import Counter
>>> counter = Counter('hellooo i am a potato!!!!!')
>>> counter.most_common(2)
[('o', 5), ('!', 5)]