<分区>
在 python 中,获取列表中特定项目的计数非常容易:
>>> L = [1,1,1,2,3,4]
>>> print(L.count(1))
3
这个方法是O(N)吗?是否建议使用此方法,或者是否有更好的方法快速获取列表中任意数量元素的计数(即避免 O(mN) 的方法,其中 m 是调用的记录数count
是必需的)。
<分区>
在 python 中,获取列表中特定项目的计数非常容易:
>>> L = [1,1,1,2,3,4]
>>> print(L.count(1))
3
这个方法是O(N)吗?是否建议使用此方法,或者是否有更好的方法快速获取列表中任意数量元素的计数(即避免 O(mN) 的方法,其中 m 是调用的记录数count
是必需的)。
最佳答案
是的,使用 collections.Counter
如果您需要通过 iterable 计算不止一次。然后您只需迭代一次。
>>> from collections import Counter
>>> counter = Counter('hellooo i am a potato!!!!!')
>>> counter.most_common(2)
[('o', 5), ('!', 5)]
关于python - python列表计数方法的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24021549/