将多个列表中的元素打印为组合线

时间:2018-04-17 01:00:12

标签: python python-3.x

我已将多个文件中的数据合并到一个列表列表中。每个单独的列表代表文件中找到的行。

Final_List = [['line1', 'line2', 'line3'], ['line1', 'line2', 'line3'], ['line1', 'line2', 'line3', 'line4']]

我想要做的是循环浏览列表并将各个线组合在一起(使用制表符间距)并打印出来。

这样的事情:

new_line_ 1 = line1\tline1\tline1
new_line_4 = \t\tline4

基本上,获取第一个列表的第一个元素,并将其与第二个列表的第一个元素组合,由制表符分隔,依此类推。但是,如果一个列表比另一个列表大 - 为其他列表的缺失行添加\ t。

最好的方法是什么?

我正在考虑更改前两个列表并将\ t添加到每个元素并添加额外的\ t以使它们与list3的大小相同。

但我觉得应该有更好的方法来做到这一点。

1 个答案:

答案 0 :(得分:10)

itertools.zip_longest可以解决问题!

result = itertools.zip_longest(*Final_List, fillvalue='\t')
# result is a generator
result = ['\t'.join(r) for r in result]