如何垂直打印Python中不同长度的2D列表
问题描述:
实际上,我尝试这么做。如何垂直打印Python中不同长度的2D列表
我有一个一流的呼叫卡
class Card(object):
def __init__(self, value, folldown,canMove):
self.value = value
self.folldown = folldown
self.canMove=canMove
,我用它来打印
我要打印不同尺寸的a=[[0, 1], [0, 1, 2], [0, 1, 2, 3]]
二维列表中我要打印像这样
0 0 0
1 1 1
2 2
3
我试图打印这样
for i in range(len(a)):
for j in range(len(a[i])):
print a[i][j]
但结果却是
0
1
0
1
2
0
1
2
3
答
a = [[0, 1], [0, 1, 2], [0, 1, 2, 3]]
print '\n'.join(['\t'.join([str(x[i]) if len(x) > i else '' for x in a]) for i in range(len(max(a)))])
#0 0 0
#1 1 1
# 2 2
# 3
+0
对于我的解决方案I如果len(x)> i else''for x in,则在x'print'上添加.value \ n'.join(['\ t'.join([str(x [i] .value)一个])我在范围内(len(max(a)))])'' – pdecarcer
答
另外,一个在线解决方案
a = [[0, 1], [0, 1, 2], [0, 1, 2, 3]]
from itertools import izip_longest
print "\n".join(("\t".join(map(str,l)) for l in izip_longest(*a, fillvalue="")))
你:
0 0 0 1 1 1 2 2 3
看起来您希望我们为您编写一些代码。尽管许多用户愿意为遇险的编码人员编写代码,但他们通常只在海报已尝试自行解决问题时才提供帮助。证明这一努力的一个好方法是包含迄今为止编写的代码,示例输入(如果有的话),期望的输出以及实际获得的输出(控制台输出,回溯等)。您提供的细节越多,您可能会收到的答案就越多。检查[FAQ]和[问]。 –
你可以显示你的代码请与你的错误,所以我们可以帮助解决这个问题? – idjaw
玩弄[格式字符串语法](https://docs.python.org/3/library/string.html#format-string-syntax),看看你是否能得到它的工作。 – wwii