generator生成器,在执行过程中遇到yield就中断,下次又继续执行
>>> def triangles():
n = [1]
while 1:
yield n
n.append(0)
n = [n[i-1] + n[i] for i in range(len(n))]
>>> x = 0
>>> for t in triangles():
print(t)
x = x+1
if x == 10:
break
代码运行结果:
[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]
[1, 5, 10, 10, 5, 1]
[1, 6, 15, 20, 15, 6, 1]
[1, 7, 21, 35, 35, 21, 7, 1]
[1, 8, 28, 56, 70, 56, 28, 8, 1]
[1, 9, 36, 84, 126, 126, 84, 36, 9, 1]