我只是尝试了内存中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个字节。
使用Python3.2的Ubuntu 11.4 32bit:输出为 48 32
Ubuntu 11.4 32位Python2.7: 48 36
谁能向我解释为什么两个大小都不同,尽管它们都是包含1的列表?
在getsizeof函数的python文档中,我发现了以下内容:...adds an additional garbage collector overhead if the object is managed by the garbage collector.在我的小示例中可能是这种情况吗?
斯蒂芬大帝
相关分类