Python 将列表列表转换为列

Python 将列表列表转换为列,python,Python,我有一组列表,打印出来时是这样的: =================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♦

我有一组列表,打印出来时是这样的:

    =================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个列表中删除“无”,但到目前为止,我这样做的尝试给了我错误。

最简单的方法是(ab)使用
replace()
。假设我们要打印的行名为
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♣       
把它应用到所有的行,你就完成了

它只是在做:

  • 将分隔符从“
    ”,“
    更改为3个空格
  • 删除一些
  • 删除任何子字符串
    'None'
    (如果
    None
    位于中间,则将其替换为4个空格)

  • 对于子字符串
    x[1:-1]
    。而且它还增加了一些缩进。

    删除
    很容易,排列列要困难得多…尝试寻找“漂亮打印”的解决方案,例如,你今天有家庭作业的截止日期吗?请看,网上有大量的文档和教程资料。你怎么被卡住了?