我有两个长度不等的2D列表,我希望将这两个列表合并为一个2D列表,当其中一个父列表不足时,我希望循环放入一个空格。
例如:
list1 = [['abc',123],['def',456],['ghi',789]]
list2 = [['abc',123],['def',456]]
期望的结果:
list3 = [['abc',123,'abc',123],['def',456,'def,456],['ghi',789,'','']]
我一直在尝试使用循环来计算递归并将它们用作列表索引(如下所示),但这限制了最短列表的方法,最终导致数据丢失。
list3 = list1[count]+list2[count]
答案 0 :(得分:1)
使用itertools.izip_longest
:
>>> from itertools import izip_longest
>>> [x+y for x,y in izip_longest(list1,list2, fillvalue = ['',''])]
[['abc', 123, 'abc', 123], ['def', 456, 'def', 456], ['ghi', 789, '', '']]