我正在寻找一种简单的方法来了解数组和字典对象的字节大小,比如
[ [1,2,3], [4,5,6] ] or { 1:{2:2} }
Run Code Online (Sandbox Code Playgroud)
很多主题都说使用pylab,例如:
from pylab import *
A = array( [ [1,2,3], [4,5,6] ] )
A.nbytes
24
Run Code Online (Sandbox Code Playgroud)
但是,字典怎么样?我看到很多答案建议使用pysize或heapy.Torsten Marek在此链接中给出了一个简单的答案:建议使用哪种Python内存分析器?,但我对输出没有明确的解释,因为字节数不匹配.
Pysize似乎更复杂,我还没有明确如何使用它.
鉴于我想要执行的大小计算的简单性(没有类或复杂的结构),任何关于如何简单估计这种对象的内存使用量的想法?
亲切的问候.
假设有这样的结构:
{'key1' : { 'key2' : { .... { 'keyn' : 'value' } ... } } }
Run Code Online (Sandbox Code Playgroud)
使用python,我试图确定两种不同方法的优点/缺点:
{'key1' : { 'key2' : { .... { 'keyn' : 'value' } ... } } } # A. nested dictionary
{('key1', 'key2', ...., 'keyn') : 'value'} # B. a dictionary with a tuple used like key
Run Code Online (Sandbox Code Playgroud)
然后我有兴趣知道,最好的(A或B)是什么: