Python-列表的垃圾收集器

llo*_*orn 3 python

我做了一个简单的循环,对于每次迭代,都会append将其编号为列表。程序完成后,列表使用的内存会自动释放吗?

if __name__ == '__main__':
    for i in range(100000):
         list.append(i)
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释吗?

Sci*_*llo 5

是的,当程序终止时,所有的内存都被释放。在现代操作系统中,您无法保留内存并且在进程终止时无法释放内存。

垃圾收集器用于在程序终止之前释放内存。这样,长时间运行的程序将不会保留计算机的所有资源。

如果您有一个大数据结构,并且希望垃圾收集器来处理它(释放它使用的内存),则在使用完它之后,应该删除对其的所有引用。在这种情况下,简单del list就足够了。