Discuss / Python / 作业

作业

Topic source
def triangles() :
     r = [1]
     while True:
             yield r
             r = [([0]+r)[i] + (r+[0])[i] for i in range(0, len(r)+1)]

求解释([0]+r)[i] + (r+[0])这一部分啊

[0]+ r是一个新list, ([0]+r)[i]指取第i位 比如:1 1 以及下一行1 2 1 1 1 -- ([0]+r)[i]for i in range(0, len(r)+1) -- 0 1 1 1 1 -- (r+[0])[i]for i in range(0, len(r)+1) -- 1 1 0 相加 -- 1 2 1 楼主的做法很简洁粗暴啊


  • 1

Reply