我已将多个文件中的数据合并到一个列表列表中。每个单独的列表代表文件中找到的行。
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的大小相同。
但我觉得应该有更好的方法来做到这一点。
答案 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]