我試圖將串列理解代碼trow=[left right for left,right in zip(trow y, y trow)]轉換為 for 回圈而不是串列理解。我曾嘗試進行此轉換,但它不起作用。我將如何能夠做到這一點?
For回圈代碼:
def PascalTriangle(n):
trow = [1]
y = [0]
for x in range(n):
print(trow)
for left,right in zip(trow y, y trow):
trow.append(left right)
return n>=1
PascalTriangle(6)
串列理解代碼:
def PascalTriangle(n):
trow = [1]
y = [0]
for x in range(n):
print(trow)
trow=[left right for left,right in zip(trow y, y trow)]
return n>=1
PascalTriangle(6)
輸出:
[1]
[1, 1, 1]
[1, 1, 1, 1, 2, 2, 1]
[1, 1, 1, 1, 2, 2, 1, 1, 2, 2, 2, 3, 4, 3, 1]
[1, 1, 1, 1, 2, 2, 1, 1, 2, 2, 2, 3, 4, 3, 1, 1, 2, 2, 2, 3, 4, 3, 2, 3, 4, 4, 5, 7, 7, 4, 1]
[1, 1, 1, 1, 2, 2, 1, 1, 2, 2, 2, 3, 4, 3, 1, 1, 2, 2, 2, 3, 4, 3, 2, 3, 4, 4, 5, 7, 7, 4, 1, 1, 2, 2, 2, 3, 4, 3, 2, 3, 4, 4, 5, 7, 7, 4, 2, 3, 4, 4, 5, 7, 7, 5, 5, 7, 8, 9, 12, 14, 11, 5, 1]
預期輸出:
[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]
[1, 5, 10, 10, 5, 1]
uj5u.com熱心網友回復:
您可以使用臨時串列來收集所有值:
def PascalTriangle(n):
trow = [1]
y = [0]
for x in range(n):
print(trow)
line = []
for left, right in zip(trow y, y trow):
line.append(left right)
trow = line
return n >= 1
PascalTriangle(6)
出去:
[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]
[1, 5, 10, 10, 5, 1]
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/357333.html
