Python generator 的yield (enumerate)
生成杨辉三角
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 def triangles(max): 2 L = [1,] 3 while len(L) - 1 < max: 4 yield L #### yield 会print 然后会停止循环, 接下来不会得到下一个L
###理解2 yield 即停,然后next()接着yield处继续运行,至下一个yield停,yield=print+return 5 L.append(0) 6 L = [L[x] + L[x - 1] for x,y in enumerate(L)] #找规律 下标直接用enmerate 而不用ij ## 7 8 for L in triangles(5): 9 print('#',L)
-