【问题标题】:Printing multiple lists, vertically and formatted, in Python [closed]在Python中打印多个垂直和格式化的列表[关闭]
【发布时间】:2015-12-05 17:18:07
【问题描述】:

假设我有四个列表:

l1=[3,5,6]
l2=[0,2]
l3=[3,4,3,1,2]
l4=[2,3,2]

我想像这样打印它们:

      2
      1  
6     3  2
5  2  4  3
3  0  3  2

有人可以帮帮我吗?

【问题讨论】:

  • itertools.zip_longest
  • 在你展示你已经尝试过的东西之前,没有人会为你做这件事。

标签: python list printing


【解决方案1】:

如果您使用的是 Python 2.x,则可以使用 itertools 中的 izip_longest()

for i in reversed([' '.join(map(str,i)) for i in izip_longest(l1, l2, l3, l4, fillvalue=' ')]):
    print i

在 Python 3.x 中,您可以使用 itertools 中的 zip_longest()

输出:

    2
    1
6   3 2
5 2 4 3
3 0 3 2

【讨论】:

    【解决方案2】:

    您可以通过使用多维数组来存储列表来解决这个问题。然后循环检查要显示的值,同时使用 if 语句打印一个空间,如果当前没有值存在(也就是将数组初始化为 none 没有值驻留)。我相信,如果你像这样构建它,你可能会取得一些成功

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-24
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-04
      相关资源
      最近更新 更多