python集可以包含的值的数量是否有限制?

时间:2013-01-29 07:31:25

标签: python set

我正在尝试使用python set作为mysql表中的id的过滤器。 python集存储了所有要过滤的id(现在大约30 000)这个数字会随着时间的推移慢慢增长,我担心python集的最大容量。它可以包含的元素数量是否有限制?

2 个答案:

答案 0 :(得分:7)

您最大的限制是计算机上的内存量。试试这一行:

s = set(xrange(10000000))

这创造了一组1000万的长度,比你给出的30,000大得多。在我的电脑上(一台带有4GB内存的Macbook Air),这只需几秒钟即可完成。无论你的系统如何,你可能也会受到同样的限制。

当然,绝对存在一个上限,并且很久之前由于碰撞次数以及必要的内存交换,您的设置将开始减速。因此,这个集合将会有多大。如果您将使用超过1000万个项目,则可能需要考虑使用数据库。

答案 1 :(得分:0)

我不知道集合中的项目数是否有任意限制。这种限制很可能与可用内存有关。