漂亮地打印二维列表?

98

有没有一种简单的内置方法可以将Python的二维列表打印成二维矩阵?

像这样:

[["A", "B"], ["C", "D"]]

会变成类似于以下的内容

A    B
C    D

我找到了pprint模块,但它似乎不能满足我的需求。


6
我会把那个称为“三维列表”。如果您愿意使用,numpy对这种情况非常擅长。 - tacaswell
实际上,print 有一种非常巧妙的方法来处理这样的事情。有一个 end = foo 参数,允许您自定义在打印语句结尾处放置什么内容(默认为 \n)。请参考我的答案以备将来参考:https://dev59.com/YGYs5IYBdhLWcg3wAfPO#73229153。 - ᴇɴᴅᴇʀᴍᴀɴ
这个例子最简单的解决方案就是 for x in your_list: print(x) - Petr L.
12个回答

0

您可以更新printend=' ',使其在内部循环中打印空格而不是'\n',而外部循环可以使用print()

a=[["a","b"],["c","d"]]
for i in a:
  for j in i:
    print(j, end=' ')
  print()

我从这里找到了这个解决方案。


我的意思是,这个可以工作,但对于长度不同的项目,你需要偏移有多少空格。请参考我的答案。 - ᴇɴᴅᴇʀᴍᴀɴ

-4
请看下面的代码。
# Define an empty list (intended to be used as a matrix)
matrix = [] 
matrix.append([1, 2, 3, 4])
matrix.append([4, 6, 7, 8])
print matrix
# Now just print out the two rows separately
print matrix[0]
print matrix[1]

尝试这个并看看会发生什么,听起来不像是一个答案。请查看:https://stackoverflow.com/help/how-to-answer - Daniel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接