【发布时间】:2020-06-20 08:15:16
【问题描述】:
我对@987654321@ 和dict 对象使用的内存空间有疑问。
我的 Python 3.7 shell 显示:
>>> import sys
>>> list_ = []
>>> sys.getsizeof(list_)
64
>>> dict_ = {}
>>> sys.getsizeof(dict_)
240
>>> list_ += dict_,
>>> list_
[{}]
>>> sys.getsizeof(list_)
96
我不明白发生了什么。
-
list对象为每个元素占用64字节的内存(shell 中显示的内容)+ 8字节。 dict对象占用240字节的内存。因此,在将字典添加为元素后,
list应该占用64 + 8 + 240 = 312字节。
为什么列表占用的内存只增加了32 字节? dict 的 240 字节内存发生了什么变化?为什么使用的内存量只增加了32 字节?
【问题讨论】:
-
列表包含对字典的引用,而不是字典的内容。
标签: python python-3.x