MST
星途 面试题库

面试题:Python for循环在处理大数据集时的性能优化与内存管理

假设你需要处理一个非常大的文本文件,文件中每行是一个整数。使用`for`循环逐行读取文件并进行累加操作,在处理过程中要考虑内存使用的优化,避免因数据量过大导致内存溢出。请写出实现代码,并说明这样做优化内存的原理。
34.1万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
total = 0
with open('large_text_file.txt', 'r') as file:
    for line in file:
        try:
            num = int(line.strip())
            total += num
        except ValueError:
            continue

print(f"累加结果: {total}")

这样做优化内存的原理是:使用with open语句逐行读取文件,每次只在内存中保留一行数据。当处理完当前行后,内存中该行数据所占空间可被释放,避免一次性将整个大文件读入内存,从而有效控制内存使用,防止因数据量过大导致内存溢出。