[英]printing multiple lists vertically?
下午好,我正嘗試打印8個列表,但似乎找不到正確的格式。 我知道您可以通過...垂直打印列表
for x in list:
print(x)
但是,我不知道如何在垂直方向上連續打印多個列表。 我在想一些類似的事情。
for L in range(0,7):
print(" ", end="")
try:
for column in tableaus:
print("{***}".format(str(tableaus[0][8])))
except IndexError:
raise RuntimeError("error occurred creating the tableaus")
Tableaus(如果單獨打印)如下所示:
[[K♠, 5♠, 10♥, 2♥, 7♦, Q♣, 4♣], [Q♠, 4♠, 9♥, A♥, 6♦, J♣, 3♣], [J♠, 3♠, 8♥, K♦, 5♦, 10♣, 2♣], [10♠, 2♠, 7♥, Q♦, 4♦, 9♣, A♣], [9♠, A♠, 6♥, J♦, 3♦, 8♣], [8♠, K♥, 5♥, 10♦, 2♦, 7♣], [7♠, Q♥, 4♥, 9♦, A♦, 6♣], [6♠, J♥, 3♥, 8♦, K♣, 5♣]]
我希望它看起來像這樣:
l l l l l l l l
i i i i i i i i
s s s s s s s s
t t t t t t t t
. . . . . . . .
. . . . 5 6 7 8
1 2 3 4
使用zip
旋轉列表
for l in zip(*tableaus):
print(*l)
沒有zip
,您可以做類似的事情
for i in len(tableaus[0]):
print(' '.join([l[i] for l in tableaus]))
也許這段代碼可以解決您的問題。 如果列表的長度不同,也可以使用。
tableaus = [
['a', 'b', 'c'],
[1, 2, 3, 4, 5]
]
tableas_empty = [False for tableau in tableaus]
separator = ' '
empty_value = ' '
while not all(tableas_empty):
row = []
for i, item in enumerate(tableaus):
if item:
value = item.pop(0)
row.append(str(value))
else:
tableas_empty[i] = True
row.append(empty_value)
separator.join(row)
結果:
'a 1'
'b 2'
'c 3'
' 4'
' 5'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.