Python数据结构的内存大小

Python数据结构的内存大小,python,memory,data-structures,memory-management,Python,Memory,Data Structures,Memory Management,如何确定Python数据结构的内存大小?我要找的东西是: sizeof({1:'hello', 2:'world'}) 如果它递归地计算每件事,那就太棒了。但即使是一个基本的非递归结果也有帮助。基本上,我想了解各种实现选项,比如tuple v.s.list v.s.类的内存占用情况。这很重要,因为我计划实例化数百万个对象 我目前的开发平台是CPython 2.6。看看这个函数。根据文档,它返回对象的大小(以字节为单位),如对象的\uuuu sizeof\uuu方法所示 正如在评论中指出的,它不

如何确定Python数据结构的内存大小?我要找的东西是:

sizeof({1:'hello', 2:'world'})
如果它递归地计算每件事,那就太棒了。但即使是一个基本的非递归结果也有帮助。基本上,我想了解各种实现选项,比如tuple v.s.list v.s.类的内存占用情况。这很重要,因为我计划实例化数百万个对象

我目前的开发平台是CPython 2.6。

看看这个函数。根据文档,它返回对象的大小(以字节为单位),如对象的
\uuuu sizeof\uuu
方法所示

正如在评论中指出的,它不是递归的;它只计算对象本身占用的字节数,而不计算它引用的其他对象占用的字节数。由Python 3文档链接到。

这将是一个非常慢的程序,除非您有很多内存。加上查找表的大小将会非常大(数百万个对象?)。只是说“in”是使用类的一个很好的替代方法,因为每个实例所需的空间与元组相同。如果您有一个类的许多实例,您应该研究