【发布时间】:2010-07-12 03:37:11
【问题描述】:
python中有多少项可以包含元组或列表?如果是 10 000 会是什么?
【问题讨论】:
python中有多少项可以包含元组或列表?如果是 10 000 会是什么?
【问题讨论】:
import sys
print sys.maxsize
# prints some system-dependent number representing the maximum
# size most containers can hold.
我怀疑在大多数平台上,sys.maxsize 会返回与sys.maxint 相同的值(保证至少为 2**31-1),但我怀疑这是保证。
【讨论】:
sys.maxsize == 2**63 - 1,但 硬件 无法处理超过 2**48 字节的 RAM。
sys.maxsize 只告诉你 Python 能够 在容器中索引多少元素(这就是为什么我怀疑它通常与 @ 相同的值987654328@)。但是您也说对了,仅仅因为 Python 知道如何使用这么多索引,并不意味着您的计算机一定可以在容器本身中存储这么多信息。
您可以在 Python 解释器中以交互方式自己尝试:
>>> tuple([0] * 10000)
(0, 0, 0, ... 0, 0)
其中... 表示 9995 个零。
【讨论】:
如果您的意思是元组或列表的最大大小是多少,我认为它非常大。在达到某个限制之前,您很可能会耗尽内存。如果其他人对索引有专门的了解,则可以添加此内容,32 位可能有 2.1 或 42 亿个项目,而 64 位可能有 8 或 16 个六亿次。
【讨论】: