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 楼主的做法很简洁粗暴啊
Sign in to make a reply
余生属于你