python - 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 = []
解决方案
Python 使用垃圾收集进行内存管理(在此处阅读更多内容)。
垃圾收集器尝试回收由程序分配但不再被引用的内存——也称为垃圾。
因此,您的数据将被自动删除。但是,如果您想确保内存在特定点是空闲的,您可以直接调用 GC
import gc
gc.collect()
虽然不建议这样做。
推荐阅读
- dart - 如何使用 document.querySelector 使用 ngFor 更改 css 类?
- node.js - GeoFirestore 中的 set() 函数存在问题
- sql - SQL - 将所有用户联合在一个表中
- python - 在 Geopandas 中绘图时管理投影
- ios - textViewDidChange 仅在输入完整字符串时才会更改。我希望它检查每个字符
- c# - 具有多个可选参数调用不同操作的 Asp.net core 路由
- vim - VIM 使用 STDIN 中的语法高亮打开 YAML
- java - 如何创建有效的自定义 JSON 解析异常映射?
- excel - 使用 VBA 中的 CountA 和 Offset 在不断变化的工作表中插入数据验证
- puppet - Puppet 查找失败,需要一个敏感值,得到 String