python字典结构,速度问题

时间:2012-04-28 22:30:44

标签: python data-structures

我是python的新手。我需要一个数据结构来存储一些对象的计数。例如,我想存储访问量最大的网页。让我们说。我有100个访问量最大的网页。我保留每个网页的访问次数。我可能需要更新列表。我一定会更新访问次数。它不必订购。给出网页ID,我将查看相关的访问次数。我打算用字典。在python中有更快的方法吗?

2 个答案:

答案 0 :(得分:2)

字典是此任务的适当且快速的数据结构(将网页ID映射到访问计数)。

使用hash tables实现Python字典以实现快速O(1)访问。它们非常快,以至于几乎任何避免它们的尝试都会使代码运行速度变慢并使代码看起来不愉快。

P.S。另请查看专为此类工作设计的collections.Counter(计数命中)。它被实现为一个字典,初始默认值设置为零。

答案 1 :(得分:1)

Python字典对象是整个Python语言中最优化的部分之一,原因是字典在任何地方都使用。

例如,通常每个类的每个对象实例都使用字典来保存实例数据成员内容,该类是包含方法的字典,模块使用字典来保存全局,系统使用字典来保存和查找模块等等。

使用字典保存计数器是Python中的一种好方法。