Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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
Python 如何将二维阵列附加到三维阵列?_Python_List_Numpy - Fatal编程技术网

Python 如何将二维阵列附加到三维阵列?

Python 如何将二维阵列附加到三维阵列?,python,list,numpy,Python,List,Numpy,我有一个三维嵌套列表,构造如下: [[[1,1],[2,1],[2,2],[1,2]],[[-1,-1],[-2,-1],[-2,-2],[-1,-2]]] 我想用[[0,0]]来得到这个结果: [[[1,1],[2,1],[2,2],[1,2]],[[-1,-1],[-2,-1],[-2,-2],[-1,-2]],[[0,0]]] 我尝试使用numpy.append和column\u stack方法,但它抱怨维度不匹配。如何正确操作?问题是,一旦您有了一个带有shape(2,4,2)的nu

我有一个三维嵌套列表,构造如下:

[[[1,1],[2,1],[2,2],[1,2]],[[-1,-1],[-2,-1],[-2,-2],[-1,-2]]]
我想用
[[0,0]]
来得到这个结果:

[[[1,1],[2,1],[2,2],[1,2]],[[-1,-1],[-2,-1],[-2,-2],[-1,-2]],[[0,0]]]

我尝试使用
numpy.append
column\u stack
方法,但它抱怨维度不匹配。如何正确操作?

问题是,一旦您有了一个带有shape
(2,4,2)
numpy
数组,除非您将列表视为对象,否则您就无法真正附加另一个带有shape
(1,1,2)
的数组(即,将一个元素附加到一个大小为
2
的数组中,以便最终得到一个大小为
3
的数组)

如果您有一个
numpy
数组,其中包含
list
对象,您将无法从
numpy
提供的大部分功能中获益,因此,也许可以更详细地解释一下您在这里到底想实现什么

>>a=np.数组([[1,1],[2,1],[2,2],[1,2],[[-1,-1],-2,-1],-2,-2],-1,-2])
>>>b=np.array([[0,0]]])
>>>a.形状,b.形状
((2, 4, 2), (1, 1, 2))
>>>c=np.array(a.tolist()+b.tolist())
>>>c
数组([list([[1,1],[2,1],[2,2],[1,2]]),
列表([-1,-1],-2,-1],-2,-2],-1,-2]),列表([[0,0]]),
数据类型=对象)
>>>c.形状
(3,)
>>>c.托利斯特()
[[[1, 1], [2, 1], [2, 2], [1, 2]],
[[-1, -1], [-2, -1], [-2, -2], [-1, -2]],
[[0, 0]]]

最后一个值是您似乎要查找的列表。您不必使用
numpy
完成此过程即可获得它,并且可以像其他人建议的那样简单地
append

猜怎么着,我可以使用默认的
append
函数;我不知道该函数不返回新数组

这是
numpy吗.array
或内置的
列表
?如果它是一个列表,那么
a.append([[0,0]])
应该可以工作。你不能在
numpy
中这样做,但可以在
列表
中使用
append
方法。
[[1,1],[2,2],[1,2]][/code>和
[-1,--1],-2],-2]]
是矩形顶点的坐标,
[[0,0]]
是点的坐标,我想将其添加到具有矩形的数组中(用于以后的处理)。numpy旨在帮助您处理向量、矩阵、张量等。它允许您执行各种操作,但不能有“行”这是不完整的,因此您可能希望使用纯列表,只需将您的点附加到以前的“形状”列表中即可。是的,请小心使用
numpy
函数。如果您从列表开始,并希望得到列表结果,则使用
numpy
通常速度较慢,并且可能错误。