零基础学python生成器全解二

2026-01-14 21:34:28

1、print('fib:1 1 2 3 5 8 13 21....')  # 斐波拉契数列

def fib_list(n):

    tmp = []

    a, b = 1, 1

    while a < n: 

       tmp.append(a)

        a, b = b, a+b

    return tmp= fib_list(200)print(L)

零基础学python生成器全解二

2、# 定义斐波拉契的生成器函数

def fib_generator(n):

    a, b = 1, 1

    while a < n:

        yield a

        a, b = b, a+b

零基础学python生成器全解二

3、# 调用函数,生成一个生成器,用for循环遍历生成器。

g = fib_generator(200)

for i in g:

    print(i, end=' ')

print()

零基础学python生成器全解二

4、# 定义斐波拉契的生成器函数第二种写法

def fib1():

    a, b = 1, 1

    while 1:

        yield a

        a, b = b, a+b

零基础学python生成器全解二

5、g = fib1()

for i in range(20):

    print(next(g))

零基础学python生成器全解二

6、使用生成器,首先是用关键字yield定义一个生成器函数,然后是调用函数创建一个生成器,最后是用循环遍历,用next()函数取出生成器的下一个值。

零基础学python生成器全解二

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢