Python释放字典的内存

时间:2014-04-16 05:25:22

标签: python dictionary

我在使用Python发布字典内存时遇到问题。 我运行以下检查并遵循进程内存使用情况:

a = dict() 
for i in xrange(1000000):
    a[i] = i
for i in xrange(1000000):
    del a[i]
gc.collect()

运行这些行后的内存使用率比以前高很多。 我该如何释放所有内存? 请注意我不想删除字典本身。

感谢。

1 个答案:

答案 0 :(得分:0)

简单地删除字典中的所有元素不会从内存中删除字典。 Python使用引用计数技术。因此,只有当对象的引用计数降为0时,它才会准备好进行垃圾回收。因此,您最好的选择是删除引用a以引用实际字典,如此

a = None

如果字典没有其他引用,a引用的字典将被自动垃圾收集。