有没有办法合并这样的列表?

时间:2019-05-03 18:55:02

标签: python list

假设a和b是列表。

a = [[1], [2]]   
b = [[5, 6, 7], [3, 4, 5]]  

我想得到一个列表

[[1,5,6,7], [2,3,4,5]]  

有什么办法可以有效地做到这一点?列表或numpy数组都可以。

1 个答案:

答案 0 :(得分:3)

zip是你的朋友:

>>> a = [[1], [2]]
>>> b = [[5, 6, 7], [3, 4, 5]]
>>> [x+y for x, y in zip(a, b)]
[[1, 5, 6, 7], [2, 3, 4, 5]]

您还可以使用map; operator模块为此类用途提供了lambda x,y: x + y的现成定义。

>>> import operator
>>> list(map(operator.add, a, b))