我的問題是創造一個功能,即接收一個元組,打印出象以下,其中空的空間(對應於其它行的數字)被填充空字符串的表示。的行數是由元組以最條目給出,例如,如果所有元組只有1個條目中只有一個行,如果所述元組中的一個具有2項將有2行。 任何人都可以告訴我一個這樣做的有效方法嗎? the image of the representation I want is in this picture.功能打印出外部表示
如果在一定元組有例如3項將有3條線等。
的圖片看起來是這樣的:
1
2 2 2 3 3
我的問題是創造一個功能,即接收一個元組,打印出象以下,其中空的空間(對應於其它行的數字)被填充空字符串的表示。的行數是由元組以最條目給出,例如,如果所有元組只有1個條目中只有一個行,如果所述元組中的一個具有2項將有2行。 任何人都可以告訴我一個這樣做的有效方法嗎? the image of the representation I want is in this picture.功能打印出外部表示
如果在一定元組有例如3項將有3條線等。
的圖片看起來是這樣的:
1
2 2 2 3 3
from itertools import zip_longest
# test data
test = [(2,), (2, 1), (2,), (3,), (3,)]
# rearrange data into same-length columns
lines = list(zip_longest(*test, fillvalue=" "))
# show results
lines.reverse()
for line in lines:
print(" ".join(str(i) for i in line))
產生
1
2 2 2 3 3
謝謝你的快速反應,但有沒有這樣做使用迭代的方法嗎?例如一個爲cicle? –
有一個在https://docs.python.org/3/library/itertools.html#itertools.zip_longest爲zip_longest配方除此之外:我建議一次通過數據找到最長的項目,一個通行證墊一切向長度,則'有效範圍內的行(最長-1,-1,-1):打印(」」。加入(COL [行]在數據COL))' –
給我們一些代碼。你試過什麼了? – linluk