【问题标题】:Turning a List of Lists into Columns将列表列表转换为列
【发布时间】:2017-04-17 21:10:09
【问题描述】:

我有一组打印出来的列表如下所示:

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

【问题讨论】:

标签: python


【解决方案1】:

最直接的方法是(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♣       

将它应用到所有的行,你就完成了。

它只是在做:

  1. 更改分隔符:从 ', ' 改为 3 个空格
  2. 删除一些'
  3. 删除任何子字符串'None'(并将其替换为4个空格,只要None在中间)

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

【讨论】:

    猜你喜欢
    • 2016-11-30
    • 1970-01-01
    • 1970-01-01
    • 2018-12-19
    • 2021-02-16
    • 2022-09-27
    • 1970-01-01
    相关资源
    最近更新 更多