Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
连接两个2d数组的Python_Python_Arrays_Numpy_Multidimensional Array - Fatal编程技术网

连接两个2d数组的Python

连接两个2d数组的Python,python,arrays,numpy,multidimensional-array,Python,Arrays,Numpy,Multidimensional Array,关于连接/追加数组有很多内容,但我在build中没有找到解决问题的方法:输入: A = [[0,0], [0,1], [1,0], [1,1]] B = [[0], [1], [1], [0]] 输出: C = [ [[0,0],[0]], [[0,1],[1]], [[1,0],[1]], [[1,1],[0]] ] 我不知道如何高效地解决这个问题(inbuild?在普通python

关于连接/追加数组有很多内容,但我在build中没有找到解决问题的方法:输入:

A = [[0,0],
     [0,1],
     [1,0],
     [1,1]]
B = [[0],
     [1],
     [1],
     [0]]
输出:

C = [
     [[0,0],[0]],
     [[0,1],[1]],
     [[1,0],[1]],
     [[1,1],[0]]
    ]

我不知道如何高效地解决这个问题(inbuild?

在普通python中,这可以通过
映射和
邮政编码轻松实现:

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
按元素组合这两个列表。需要
映射
将每个压缩的元素转换为列表


和numpy一起。。。。您可以使用
np.hstack
,但它们没有相同的维度,因此,据我所知,使用numpy无法有效地实现这一点。

在普通python中,使用
map
zip
很容易做到这一点:

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
按元素组合这两个列表。需要
映射
将每个压缩的元素转换为列表


和numpy一起。。。。您可以使用
np.hstack
,但它们没有相同的维度,因此,据我所知,使用numpy无法有效地实现这一点。

Python的一大优势是它支持

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

对于您的问题-假设您保护A和B始终具有相同的长度,您可以轻松地编写一行这样的代码:

[[A[i], B[i]] for i in range(len(A))]

Python的一大优点是它支持

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

对于您的问题-假设您保护A和B始终具有相同的长度,您可以轻松地编写一行这样的代码:

[[A[i], B[i]] for i in range(len(A))]

这将产生您想要的输出。

以numpy为单位?还是像Python列出的那样?在numpy中?还是作为Python列表?或者,作为一个更简单的选择,<代码> [x,y]为zip(a,b)] /<代码>。是的,这更简单,但是在开始列表理解时可能更困难。如果OP在谈论NUMPY,人们只能希望和祈祷他们把基础知识降低了。或者,作为一个更简单的选择,<代码> [[x,y]为x,y在zip(a,b)] < /代码>。这更简单,但从列表理解开始时可能更困难。如果OP在谈论NUMPY,人们只能希望和祈祷他们把基础知识降低了。