Pascal's triangle: Difference between revisions

Line 1,404:
row=[l+r for l,r in zip(row+k,k+row)]
return n>=1</lang>
 
Or, by creating a scan function:
 
<lang python>def scan(op, seq, it):
a = []
result = it
a.append(it)
for x in seq:
result = op(result, x)
a.append(result)
return a
 
def pascal(n):
def nextrow(row, x):
return [l+r for l,r in zip(row+[0,],[0,]+row)]
 
return scan(nextrow, range(n), [1,])</lang>
 
=={{header|R}}==
Anonymous user