面试题答案
一键面试def reverse_generator(n):
for i in range(n, 0, -1):
yield i
# 使用生成器反向输出
for num in reverse_generator(1000000):
print(num)
内存管理和性能优化原理
- 生成器:通过使用生成器函数
reverse_generator
,我们避免了一次性在内存中创建包含1到1000000所有整数的列表。生成器在迭代过程中按需生成值,而不是一次性生成所有值并存储在内存中。这大大减少了内存占用,特别是在处理非常大的数据集时。 - 反向迭代:在
range
函数中,我们使用range(n, 0, -1)
的方式,直接按照反向顺序生成数字,避免了先生成正向列表再进行反向操作,进一步提升了性能。