Skip to main content
 首页 » 编程设计

python之如何在 python 中将可变长度列表打印为列

2025年05月04日16sxdcgaq8080

我需要一种方法来打印多个不同长度的列表,因为列彼此相邻,用制表符分隔,并且空单元格保持为空或包含一些填充字符(例如“-”)。

目前尝试的方法不适用于不同长度的列表,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   -