斐波那契数列进一步讨论性能

'''
生成器求斐波那契数列
不需要担心会使用大量资源
'''
def fibon(n):
    a = b = 1
    for i in range(n):
        yield a
        # a 为每次生成的数值
        a,b = b,a+b

for x in fibon(1000000):
    print(x)

'''
使用列表进行斐波那契数列运算,会直接用尽所有的资源
'''
def fibon(n):
    a = b = 1
    result = []
    for i in range(n):
        result.append(a)
        # a 为每次生成的数值
        a,b = b,a+b
    return result

for x in fibon(1000000):
    print(x)

生成器使用场景:不想在同一时间将所有计算结果都分配到内存中

2020-05-04

posted @ 2020-05-04 19:01  CodeYaSuo  阅读(118)  评论(0编辑  收藏  举报