Python 高级编程:迭代、生成与装饰器详解
一、Python 内存优化与斐波那契数列实现
Python 的目标之一是尽可能减少内存占用,避免空间浪费,特别是在大多数情况下广泛使用的函数和方法中。下面以斐波那契数列为例,逐步展示如何优化代码。
斐波那契数列定义为:$F(0) = 0$,$F(1) = 1$,对于任意 $n > 1$,$F(n) = F(n - 1) + F(n - 2)$。以下是不同版本的实现:
- 初始版本
def fibonacci(N):
"""Return all fibonacci numbers up to N. """
result = [0]
next_n = 1
while next_n <= N:
result.append(next_n)
next_n = sum(result[-2:])
return result
print(fibonacci(0)) # [0]
print(fibonacci(1)) # [0, 1, 1]
print(fibonacci(50)) # [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
该版本的实现步骤如下:
- 初始化结果列表 result 为 [0] 。
- 从下一个元素 next_n = 1 开始迭代
超级会员免费看
订阅专栏 解锁全文
1178

被折叠的 条评论
为什么被折叠?



