generator+列表生成式输出杨辉三角形

杨辉三角形: 

                   1
                  1    1
              1    2    1
         1     3    3     1
    1      4    6     4     1
1      5    10    10    5     1

列表生成式:

[ x*x for x in range(10) if x%2 == 0]   将得到一个list [0,4,16,36,64 ]

generator:

g = ([x*x for x in range(10) if x%2 == 0)  // 将[ ] 换为()可得到一个 generator 。或者在代码中使用yield

1 def triangles():
2     L=[1]
3     while True:
4         yield L
5         L = [L[x]+L[x+1] for x in range(len(L)-1)]
6         L.insert(0,1)
7         L.append(1)
8         if(len(L)>10:
9             break

猜你喜欢

转载自www.cnblogs.com/ll-10/p/9692227.html