MST

星途 面试题库

面试题:Python高效遍历大型字典值并优化内存使用

假设你有一个非常大的字典large_dict,键是字符串,值是数值。为了避免内存问题,如何高效地遍历这个字典的值,并计算所有值的平方和,同时尽量减少内存占用?
26.4万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试

可以使用生成器表达式来实现高效遍历并计算平方和,从而减少内存占用。以下是Python代码示例:

large_dict = {'a': 1, 'b': 2, 'c': 3}  # 示例字典
square_sum = sum(value ** 2 for value in large_dict.values())
print(square_sum) 

解释:

  1. large_dict.values() 方法返回字典中所有的值的视图对象,这个视图对象在Python 3中是一个可迭代对象,不会一次性将所有值加载到内存。
  2. value ** 2 for value in large_dict.values() 这是一个生成器表达式,它会逐个生成字典值的平方,而不会一次性创建一个包含所有平方值的列表,从而减少内存占用。
  3. sum() 函数接受这个生成器表达式作为参数,逐个累加生成器生成的值,最终得到平方和。