Here is one. it returns a list of row lists:
def listPascal(n): row = [1] if n == 0: return [row] # Stop condition for c in range(1,n+1): # Fill row [1,r..r,1] row += [row[-1]*(n-c+1)//c] return listPascal(n-1) + [row] # Recurse