我有两个列表,它们的项目数相等。这两个列表如下所示:
L1 = [[1, 2], [3, 4], [5, 6]]
L2 =[[a, b], [c, d], [e, f]]
我希望创建一个如下所示的列表:
Lmerge = [[1, 2, a, b], [3, 4, c, d], [5, 6, e, f]]
我试图使用zip()
这样的东西:
for list1, list2 in zip(*L1, *L2):
Lmerge = [list1, list2]
组合两个列表的最佳方式是什么?提前谢谢。
Tags:
您希望将子列表与加号运算符组合起来,并在列表理解中迭代它们:
或者
或者
我们也可以不用
zip()
:一些基准
以下是迄今为止所提供答案的一些基准。
看起来最流行的答案(} solution 差不多。另一方面,我给出的其他解决方案已经被证明是垃圾!
[x + y for x,y in zip(L1,L2)]
)与@hammar's ^{然而,最快的解决方案(目前)似乎是那些使用列表理解而不使用
zip()
的解决方案。@Zac's suggestion非常快,但是我们在这里比较苹果和桔子,因为它在
L1
上执行了列表扩展而不是创建第三个列表。因此,如果不再需要L1
,这是一个很好的解决方案。但是,如果
L1
必须保持完整,那么一旦包含deepcopy,性能将低于标准。相关问题 更多 >
编程相关推荐