Python_生成式、生成器

生成式:

list = [x*x for x in range(1,88) if x%2==0]

后边可以加if条件过滤


生成器:

用法一-》

g = (x*x for x in range(1,88) if x%2==0)

直接 使用next(g)即可获取生成器生成的元素

在生成式上略作修改,将[]改成()即可

用法二-》

def fib(max):
    n, a, b = 0, 0, 1
    while n < max:
        print(b)
        a, b = b, a + b
        n = n + 1
    return 'done'

直接将方法中的return关键字改成yeild即可




猜你喜欢

转载自blog.csdn.net/qiangzai110110/article/details/80864990