我需要一种方法来打印多个不同长度的列表,因为列彼此相邻,用制表符分隔,并且空单元格保持为空或包含一些填充字符(例如“-”)。
目前尝试的方法不适用于不同长度的列表,numpy 也没有像我预期的那样工作。
总结:
listname = [[1,2,3],[4,5,6,7,8],[9,10,11,12]]
在 .txt 文件中这样打印:
1 4 9
2 5 10
3 6 11
- 7 12
- 8 -
请您参考如下方法:
您可以使用 itertools.izip_longest .要填充较长序列中的 None 空格,您可以使用 fillvalue(感谢@szxk):
>>> import itertools
>>> listname = [[1,2,3],[4,5,6,7,8],[9,10,11,12]]
>>> for x in itertools.izip_longest(*listname, fillvalue="-"):
... print '\t'.join([str(e) for e in x])
...
1 4 9
2 5 10
3 6 11
- 7 12
- 8 -
