Python连接两个2d数组

时间:2017-07-12 21:08:21

标签: python arrays numpy multidimensional-array

有很多关于连接/追加数组的内容,但我发现没有任何内容可以解决我的问题:输入:

.widgets {
    display: flex;
    justify-content: space-around;
}

输出:

A = [[0,0],
     [0,1],
     [1,0],
     [1,1]]
B = [[0],
     [1],
     [1],
     [0]]

我不知道如何解决这个问题(inbuild?)

2 个答案:

答案 0 :(得分:4)

在vanilla python中,使用mapzip轻松完成此操作:

In [127]: C = list(map(list, zip(A, B)))

In [128]: C
Out[128]: [[[0, 0], [0]], 
           [[0, 1], [1]], 
           [[1, 0], [1]], 
           [[1, 1], [0]]]

zip以元素方式组合两个列表。将每个压缩元素转换为列表需要map

有了numpy ....你可以使用np.hstack但他们没有相同的尺寸,所以,据我所知,这不能有效地完成与numpy。

答案 1 :(得分:0)

Python的一大优势是它支持list comprehensions

这基本上是一个产生数组的单行循环。

对于你的问题 - 假设你保证A和B总是有相同的长度,你可以很容易地编写一行代码:

ratings:[1,2,4]
songs:[1,4,5]

产生您想要的输出。