深入阅读后,所有文档都导致陈述关于字典的两件事:
如果是这种情况,为什么这个字典仅消耗368个字节的RAM,而一个空字典占用240个字节,不是应该将其大小调整为4倍,例如:960字节吗?
>>> getsizeof(dict(a=1,b=2,c=3,d=4,e=5,f=6,g=7))
368
>>> getsizeof(dict(a=1,b=2,c=3))
240
我是误会还是误解了这里的核心内容? 关于python 3.7的此信息是否有所改变?
答案 0 :(得分:5)
import sys
dictt=dict()
array=[]
for i in range(0,1000):
dictt[i]=i
array.append(sys.getsizeof(dictt))
print(array)
numberarray=[]
for i in range(1,1001):
numberarray.append(i)
import matplotlib.pyplot as plt
plt.plot(numberarray,array)
plt.ylabel('memory')
plt.xlabel("items")
plt.show()
您应该参考: http://www.jessicayung.com/how-python-implements-dictionaries/