python 字典长度 |
您所在的位置:网站首页 › python字典中的最大值 › python 字典长度 |
正如@Leifingson和@Tim所提到的,这种行为取决于以前做过的事情。为了说明内存消耗,我将使用以下示例:Python 2.7 (r27:82525, Jul 4 2010, 09:01:59) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> a = {} >>> for k in xrange(1000000): a['a' * k] = k ... Traceback (most recent call last): File "", line 1, in MemoryError >>> len(a) 64036 如果我们采用摘要密钥长度: ^{2}$ 我们将接近整数溢出!在 棘手的是:>>> import sys >>> sys.getsizeof(a) 1573004 sys.getsizeof返回不同内容的大小,然后返回dict的所有项。可能是所有键哈希的大小,我不知道。在 之后>>> a = {} 将释放所有2GB的已分配内存,但会使GC(我责怪它)处于某种瘫痪状态。所以执行:>>> for k in xrange(1000000): a[k] = k 将导致:MemoryError 类似于所问的“魔法”数字:>>> len(a) 87382 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |