Python列表在内存中的大小
- 论坛
- Python列表在内存中的大小
12 浏览
Python列表在内存中的大小
我刚刚尝试了一下Python数据结构在内存中的大小。我写了下面的代码片段:
import sys lst1=[] lst1.append(1) lst2=[1] print(sys.getsizeof(lst1), sys.getsizeof(lst2))
在不同的配置下,我得到了以下输出:
- Windows 7 64位,Python3.1:输出为
52 40
(所以lst1
占用52字节,lst2
占用40字节) - Ubuntu 11.4 32位,Python3.2:输出为
48 32
- Ubuntu 11.4 32位,Python2.7:输出为
48 36
有人能解释一下为什么这两个大小不同,尽管都是包含一个1的列表吗?
在Python的getsizeof
函数文档中,我找到了以下内容:
...如果对象由垃圾收集器管理,会增加额外的垃圾收集器开销。
在我的例子中,这可能是个原因吗?