首页 > 解决方案 > Python的内存行为

问题描述

我有一个清单,它会变得非常大。所以我会将列表保存在我的硬盘上并继续使用一个空列表。我的问题是:当我执行 myList[] 时,旧数据会被删除还是会保留在 Ram 上的某个位置。我担心 myList 的指针只会指向其他地方,并且旧数据不会被删除。

myList = []
for i in range(bigNumber1)
    for k in range(bigNumber2)
        myList.append( bigData(i,k) )
    savemat("data"+str(i), "data":{myList})
    myList = []

标签: pythonpointersmemory

解决方案


Python 使用垃圾收集进行内存管理(在此处阅读更多内容)。

垃圾收集器尝试回收由程序分配但不再被引用的内存——也称为垃圾。

因此,您的数据将被自动删除。但是,如果您想确保内存在特定点是空闲的,您可以直接调用 GC

import gc
gc.collect()

虽然不建议这样做。


推荐阅读