首页 > 代码库 > Python中的生成器

Python中的生成器

生成器也是一种迭代器,可以用于Python的for循环中;

生成迭代器的方法很简单:把一个列表生成式中的[]换成()就创造了一个生成器;

yield关键字标志着函数变为生成器函数

调用next()方法时,遇到yield生成器函数停止执行(挂起),并将yield后的值作为next()的返回值,可以这样理解:yield类似于普通函数中的return,之后每次调用next()方法,都会从上次挂起的位置开始执行

 

 

杨辉三角Python代码:

def triangles():
    L = [1]
    while True:
        yield L
        L1 = [0]+L
        L = [L[i]+L1[i] for i in range(len(L))]+[1]
        
n = 0
for x in triangles():
    print(x)
    n += 1
    if n == 10:
        break

 

Python中的生成器