提问人:maximus_ow 提问时间:11/9/2023 最后编辑:maximus_ow 更新时间:11/10/2023 访问量:59
python del 关键字不适用于 numpy 数组
python del keyword doesn't work on numpy arrays
问:
我在 Colab 中测试了以下两个代码片段。
第一个是列表列表。
a = []
for i in range(100000):
a.append([0 for _ in range(10000)])
运行此命令后,系统RAM从1.0 GB跃升至8.8 GB。然后我尝试删除此列表。
del a
系统RAM恢复到1.0 GB。
现在我用numpy数组列表尝试同样的事情
import numpy as np
b = []
for i in range(100000):
b.append(np.zeros(10000))
系统 RAM 从 1.0 GB 跃升至 7.6 GB。但是现在当我尝试删除它时:
del b
什么也没发生!
这种行为背后的原因是什么?
如何删除?b
提前致谢
答: 暂无答案
评论
numpy
是用 C 和 Fortran 编写的。它执行不属于 Python 垃圾回收规则的内部内存分配。内存最终会被回收,但它不在 Python 的控制之下。这也可能是堆碎片的情况。del
b
a
del