我一直在寻找一种简单的方法来了解数组和字典对象的字节大小,例如
[ [1,2,3], [4,5,6] ] or { 1:{2:2} }
很多话题都说要用pylab,例如:
from pylab import *
A = array( [ [1,2,3], [4,5,6] ] )
A.nbytes
24
但是,字典呢? 我看到很多建议使用 pysize 或 heapy 的答案。 Torsten Marek 在此链接中给出了一个简单的答案:Which Python memory profiler is recommended? ,但我对输出没有明确的解释,因为字节数不匹配。
Pysize 似乎比较复杂,我还没有一个明确的想法如何使用它。
考虑到我想要执行的大小计算的简单性(没有类或复杂的结构),有什么简单的方法可以大致估计此类对象的内存使用情况吗?
亲切的问候。
最佳答案
有:
>>> import sys
>>> sys.getsizeof([1,2, 3])
96
>>> a = []
>>> sys.getsizeof(a)
72
>>> a = [1]
>>> sys.getsizeof(a)
80
但我不会说它那么可靠,因为 Python 对每个对象都有开销,并且有些对象只包含对其他对象的引用,因此它与 C 和其他语言中的不太一样。
阅读 sys.getsizeof 上的文档我猜从那里去。
关于python - 如何知道数组和字典等python对象的字节大小? - 简单的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13530762/