我有两个相同长度的列表列表,如下所示。
list1 = [[],[],[1,2,3,4],[],[2,5,6]]
list2 = [[],[],[1,9,3,9],[],[1,8,6]]
我想加入这些列表,以便如果列表中有值,它将被添加到列表中的相同索引,例如[[],[],[1,2,3,4,9],[],[1,2,5,6,8]]
。
我试图使用map(list,zip(list1,list2))
但是将两个列表合并到一个列表中,例如在index[0]
中给出两个空列表。取而代之的是,我希望将index[0]
中的两个列表中的值添加到index[0]
,如果两个列表中都没有值,则此列表应保持为空。最好的方法是什么?
答案 0 :(得分:7)
你不是很远,你只需要改进你正在做的事情。
>>> [sorted(set(e1 + e2)) for (e1, e2) in zip(list1, list2)]
[[], [], [1, 2, 3, 4, 9], [], [1, 2, 5, 6, 8]]
答案 1 :(得分:0)
执行此操作的最佳方法是迭代两个列表并在其中一个列表中扩展列表。
表示范围内的i(0,len(list1)): list1的[I] .extend(列表2 [I])
然后list1中的所有项目都是list1和2中的项目,包括附加列表。