浪费空间版本:
def f_shu(i):
m,n,i=1,1,i-2
l=[1,1]
while i:
m,n=n,m+n
i=i-1
l.append(n)
return l
print(f_shu(3))
结果
[1, 1, 2]
加强版本:
def f_shu(i):
m,n,i=1,1,i-1
print(n)
while i:
yield n
m,n=n,m+n
i=i-1
return 'done'
c=f_shu(8)
for x in c:
print(x)
结果
1
1
2
3
5
8
13
21
由于使用了生成器,第二种方法会减小空间使用
本文介绍了两种实现斐波那契数列的方法:一种是直接使用列表存储每一项的值,另一种则是采用生成器的方式减少内存占用。通过对比这两种方法的空间效率,展示了生成器在节省资源方面的优势。

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



