【问题标题】:How many can a tuple or list contain in Python?Python 中的元组或列表可以包含多少个?
【发布时间】:2010-07-12 03:37:11
【问题描述】:

python中有多少项可以包含元组或列表?如果是 10 000 会是什么?

【问题讨论】:

    标签: python list tuples


    【解决方案1】:
    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),但我怀疑这是保证。

    【讨论】:

    • 最好的答案,但最大 容器的大小不会直接转化为最大 项目数能把持住。您需要大量了解内部表示。但即使你这样做了,精确值也不值得费心计算,因为它肯定会比你拥有的 RAM 多得多。例如。在 64 位计算机上,我正在输入 sys.maxsize == 2**63 - 1,但 硬件 无法处理超过 2**48 字节的 RAM。
    • @Zack: 是的,sys.maxsize 只告诉你 Python 能够 在容器中索引多少元素(这就是为什么我怀疑它通常与 @ 相同的值987654328@)。但是您也说对了,仅仅因为 Python 知道如何使用这么多索引,并不意味着您的计算机一定可以在容器本身中存储这么多信息。
    【解决方案2】:

    您可以在 Python 解释器中以交互方式自己尝试:

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

    其中... 表示 9995 个零。

    【讨论】:

      【解决方案3】:

      如果您的意思是元组或列表的最大大小是多少,我认为它非常大。在达到某个限制之前,您很可能会耗尽内存。如果其他人对索引有专门的了解,则可以添加此内容,32 位可能有 2.1 或 42 亿个项目,而 64 位可能有 8 或 16 个六亿次。

      【讨论】:

        猜你喜欢
        • 2012-01-08
        • 2012-02-22
        • 2016-09-25
        • 2014-09-20
        • 1970-01-01
        • 1970-01-01
        • 2010-09-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多