面试题答案
一键面试可以使用生成器表达式来实现高效遍历并计算平方和,从而减少内存占用。以下是Python代码示例:
large_dict = {'a': 1, 'b': 2, 'c': 3} # 示例字典
square_sum = sum(value ** 2 for value in large_dict.values())
print(square_sum)
解释:
large_dict.values()
方法返回字典中所有的值的视图对象,这个视图对象在Python 3中是一个可迭代对象,不会一次性将所有值加载到内存。value ** 2 for value in large_dict.values()
这是一个生成器表达式,它会逐个生成字典值的平方,而不会一次性创建一个包含所有平方值的列表,从而减少内存占用。sum()
函数接受这个生成器表达式作为参数,逐个累加生成器生成的值,最终得到平方和。