0

我有两个长度不等的 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]
4

1 回答 1

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, '', '']]
于 2013-07-10T13:54:15.547 回答