合并两个列表一个挨着另一个

时间:2021-07-09 13:00:45

标签: python list concatenation

我想合并两个列表。 list1 是一个列表或数组,如下所示:

    list1 = [np.array([14, 17, 17,  8]), np.array([ 7,  7, 19, 16]), np.array([ 9, 18,  2, 19])]

list2 是另一个列表,例如:

    list2 = [np.array([909]), np.array([909]), np.array([998])]

我想用 new_list 将两个列表连接成一个 new_list = [list1, list2],但它没有给我我正在寻找的结果。我想生成一个新矩阵,例如:

new_list = list1 |清单 2

14 17 17 8 909

7 7 19 16 990

9 18 2 19 998

1 个答案:

答案 0 :(得分:2)

这应该有效:

list3 = np.concatenate((list1, list2), axis=1)
# array([[ 14,  17,  17,   8, 909],
#        [  7,   7,  19,  16, 909],
#        [  9,  18,   2,  19, 998]])

请注意,标准 + 不会像对 vanilla python 列表那样对 numpy 数组进行连接。如果你有普通的 lists 而不是 numpy 数组,那么你可以这样做:

list3 = [a1 + b1 for (a1, b1) in zip(list1, list2)]

但是如果你在一个 numpy 数组上尝试这个,它会做标量加法而不是串联。