2

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

4

2 回答 2

9

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

s = set(xrange(10000000))

这创建了一组长度为 1000 万的集合,比您作为示例给出的 30,000 大得多。在我的电脑(一台 4GB 内存的 Macbook Air)上,它只需几秒钟即可运行。无论您的系统是什么,您都可能同样不受约束。

当然,绝对有一个上限,在此之前,由于冲突的数量以及必要的内存交换,您的集合将开始变慢。因此,这个集合有多大很重要。如果您将使用超过 1000 万个项目,则可能需要考虑使用数据库。

于 2013-01-29T07:37:08.763 回答
0

我不知道一组中的项目数量是否有任意限制。该限制很可能与可用内存有关。

于 2013-01-29T07:34:01.203 回答