Python中巨大列表中的IndexError

时间:2016-11-21 07:01:47

标签: python list numpy size index-error

python中处理100x100大小的列表产品很好:

>>> import itertools
>>> import numpy as numpy
>>> nested_loop_iter = itertools.product(range(100), range(100))
>>> probs = np.fromiter(map(lambda x: x[0] *x[1], nested_loop_iter), dtype=int)
>>> probs
array([   0,    0,    0, ..., 9603, 9702, 9801])

但是当列表产品的大小增加到100,000 x 100,000时,它会抛出IndexError

>>> import itertools
>>> import numpy as numpy
>>> nested_loop_iter = itertools.product(range(100000), range(100000))
>>> probs = np.fromiter(map(lambda x: x[0] *x[1], nested_loop_iter), dtype=int)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range

Python可以处理如此庞大的列表产品吗?它在结果列表中总计最多10,000,000,000个元素。

根据这个:How Big can a Python Array Get? Python应该能够处理10,000,000,000的列表,但为什么它仍然会抛出IndexError

0 个答案:

没有答案