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

Asi*_*ov4 1 python set

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

Dav*_*son 7

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

s = set(xrange(10000000))
Run Code Online (Sandbox Code Playgroud)

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

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