不同大小的字典和对象的内部__dict__

时间:2015-10-26 10:41:47

标签: python

我有一个字典,它的大小是198526。

sys.getsizeof(dic))  # 198526

class Actor(object):
    def __init__(self):
       pass

actor = Actor()
actor.__dict__.update(dic)

sys.getsizeof(actor.__dict__)  #89850

为什么actor.__dict__< dict

1 个答案:

答案 0 :(得分:0)

这是一个可能的解释:Python词典never shrink

如果该字典包含更多元素,但之后您删除了其中一些元素,则不会调整哈希表的大小。

OTOH如果你复制或更新另一个字典,那么你可能会得到一个较小的(哈希表)大小。