python - python列表计数方法的性能

标签 python performance

<分区>

在 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/

相关文章:

python - TCP 客户端-服务器代码。什么都不做

python - matplotlib:如何在图像上绘制矩形

python - python模块的动态加载

python - Google App Engine Python - Protorpc && 任务队列

performance - 如何为包含 250,000 个文件的目录加速 Perl 的 readdir?

performance - Angular 性能 : component exposes public object with 500+ (sub-) members

python - 防止子进程的子进程写入标准输出

python - Dataframe 嵌套循环 - set_value 变量输入

c++ - 根据处理速度每 x 秒循环一次

android - 加载图像时 ListView 非常慢(使用 Universal Image Loader)