Сколько может содержать кортеж или список в Python? - PullRequest
2 голосов
/ 12 июля 2010

Сколько элементов может содержать кортеж или список в python?Что будет, если это 10 000?

Ответы [ 3 ]

4 голосов
/ 12 июля 2010
import sys

print sys.maxsize
# prints some system-dependent number representing the maximum
# size most containers can hold.

Python sys module

Я подозреваю, что на большинстве платформ sys.maxsize вернет то же значение, что и sys.maxint (которое гарантированно будет равно 2** 31-1), но я сомневаюсь, что это гарантировано.

3 голосов
/ 12 июля 2010

Вы можете попробовать это самостоятельно, в интерактивном режиме в интерпретаторе Python:

>>> tuple([0] * 10000)
(0, 0, 0, ... 0, 0)

, где ... представляет 9995 нулей.

0 голосов
/ 12 июля 2010

Если вы имеете в виду максимальный размер кортежа или списка, я предполагаю, что он очень большой. Скорее всего, вам не хватит памяти, прежде чем вы достигнете определенного предела. Кто-то еще может добавить к этому, если у них есть конкретные знания об индексации, возможно, 2,1 или 4,2 миллиарда элементов в 32-битном и 8 или 16 секстиллионов в 64-битном.

...