Существует ли ограничение на количество значений, которое может содержать набор python?

Я пытаюсь использовать набор [python](/tag5253) как
фильтр для идентификаторов из таблицы mysql. Набор [python](/tag5253) сохраняет все идентификаторы для фильтрации
(около 30 000 сейчас), это число будет медленно расти с течением
времени, и меня беспокоит максимальная емкость набора python. Есть
ли ограничение на количество элементов, которые он может
содержать?

Самое большое ограничение - объем памяти на вашем компьютере.
Попробуйте строку:

```
s = set(xrange(10000000))

```

Это создает набор из 10 миллионов, намного больше, чем 30 000,
которые вы приводите в качестве примера. На моем компьютере
(Macbook Air с 4 ГБ памяти) это работает всего за несколько секунд.
Независимо от вашей системы, вероятно, вы будете так же
безупречны.

Конечно, есть абсолютно верхний предел, и задолго до этого ваш
набор начнет замедляться из-за количества коллизий, а также
необходимой замены памяти. Таким образом, важно, насколько большой
будет этот набор. Если вы будете работать с более чем 10 миллионами
элементов, вам может потребоваться вместо этого работать с базами
данных.



Я не знаю, существует ли произвольный предел для количества
элементов в наборе. Скорее всего, предел привязан к доступной
памяти.



Я не знаю, существует ли произвольный предел для количества
элементов в наборе. Скорее всего, предел привязан к доступной
памяти.