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

Python 将多个列表中的元素打印为组合行,python,python-3.x,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

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

Final_List = [['line1', 'line2', 'line3'], ['line1', 'line2', 'line3'], ['line1', 'line2', 'line3', 'line4']]
我想做的是循环浏览列表,并将各行组合在一起(使用制表符间距),然后打印它们

比如说:

new_line_ 1 = line1\tline1\tline1
new_line_4 = \t\tline4
从本质上讲,获取第一个列表的第一个元素,并将其与第二个列表的第一个元素组合,用tab分隔,以此类推。但是,如果一个列表比另一个列表大,请为其他列表添加\t缺少的行

最好的方法是什么

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

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

成功了

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

您的输出中有一个小错误。您将获得:['line1\tline1\tline1','line2\tline2\tline2','line3\tline3\tline3','\t\t\tline4']。最后一个选项卡中的选项卡太多。fillvalue=''应该可以修复它。谢谢。这很有帮助!