6
我有一個列表中有不同數量的元素(int)的列表。我想打印/寫入,但在列中而不是在行中。Python - 寫入列表的列表列表
例子:
l = [[1,2,3],[4,5],[6,7,8,9],[0]]
結果:
1 4 6 0
2 5 7 .
3 . 8 .
. . 9 .
我有一個列表中有不同數量的元素(int)的列表。我想打印/寫入,但在列中而不是在行中。Python - 寫入列表的列表列表
例子:
l = [[1,2,3],[4,5],[6,7,8,9],[0]]
結果:
1 4 6 0
2 5 7 .
3 . 8 .
. . 9 .
要做到這一點,最簡單的方法是使用itertools.izip_longest()
:
for x in itertools.izip_longest(*l, fillvalue="."):
print " ".join(str(i) for i in x)
此:
import itertools
l = [[1,2,3],[4,5],[6,7,8,9],[0]]
for t in itertools.izip_longest(*l):
print "".join("%3d" % x if x is not None else " ." for x in t)
產生:
1 4 6 0
2 5 7 .
3 . 8 .
. . 9 .