2017-04-17 39 views
0

我有一組列表看起來像這樣在打印時的:打開列表的列表爲列

=================Tableaus================= 
    ---1----2----3----4----5----6----7----8--- 
[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♣, None] 
[8♠, K♥, 5♥, 10♦, 2♦, 7♣, None] 
[7♠, Q♥, 4♥, 9♦, A♦, 6♣, None] 
[6♠, J♥, 3♥, 8♦, K♣, 5♣, None] 

如何把這些名單成整潔的列?我也想刪除最後4個名單中的「無」,但到目前爲止,我的嘗試都給了我錯誤。

+0

刪除'None's很容易,排列柱很多,* *更難... –

+0

嘗試尋找「漂亮的打印」解決方案,例如http://stackoverflow.com/questions/9712085/numpy-pretty-print-tabular-data – Riaz

+0

你今天有家庭任務的最後期限?請參閱http://stackoverflow.com/questions/43456021/printing-multiple-lists-vertically/43456772#43456772 – VeGABAU

回答

0

最直接的方法是使用replace()(ab)。比方說,我們要打印的行稱爲x

x = ['7♠', 'Q♥', '4♥', '9♦', 'A♦', '6♣', None] 

那麼,如果我們這樣做:

x=str(x) 
print(7*' '+x[1:-1].replace(', ',' ').replace("'",'').replace('None',' ')) 

它會打印:

7♠ Q♥ 4♥ 9♦ A♦ 6♣ 

隨着表結果的其餘部分將是:

=================Tableaus================= 
    ---1----2----3----4----5----6----7----8--- 
     7♠ Q♥ 4♥ 9♦ A♦ 6♣  

將其應用於所有行,然後完成。

它只是在做:

  1. 更換分離:從', '到3位
  2. 刪除一些'
  3. 刪除任何串'None'(和由4位取代它,只是如果None是在中間)

對於子x[1:-1]。它還增加了一些縮進。