python - 为什么重新函数占用这么多内存
问题描述
我在笔记本电脑上加载了一个占用 4G 内存的数据文件(3400 万行句子)。
在我进行预处理时,处理了 200 万个句子后,内存增加了 1.5G。
count = 0
for line in lines:
lines[count] = re.findall(r"[\w']+|[().,:!?;'$&]", line)
count += 1
if count % 100000 == 0:
print(count)
gc.collect()
有人可以解释为什么以及如何优化它吗?
解决方案
推荐阅读
- c - 如何在if条件中定义代码块
- ruby-on-rails - Rails/Phonelib:为什么我的电话号码验证器会失败?
- json - 在 Python 中解析和过滤复杂的 JSON 响应(简单计算方法)
- python - 如何从 1 个循环中获得多个输出?
- r - R:当一个包含另一个时的多个匹配
- python - 从文本文件中读取元组赋值(例如 d1: p, m, h, = 20, 15, 22)并对每个变量执行计算(例如 p*h)
- javascript - 如何在sortablejs中将元素的位置存储到不同的容器中?
- javascript - 如何通过函数 1 更改全局变量并在函数 2 中使用函数 1 重新计算的该全局变量的值
- java - for 循环只执行一次
- primefaces - 使用 RAD/Websphere 设置 PrimeFaces 的问题