Python 将空列表追加到numpy.array

Python 将空列表追加到numpy.array,python,arrays,numpy,Python,Arrays,Numpy,我试图找出如何将空列表附加到已经存在的numpy数组中 我可以为任何列表b获取数组吗 a = np.array([b]) a = np.append(a, []) print a # you get array([a, []]) 此代码只输出原始[a],而不是[a,[]。有人知道这是如何实现的吗?在数组中创建空列表的唯一方法是创建对象数据类型数组 In [382]: a = np.empty((3,),dtype=object) In [383]: a Out[383]: array([Non

我试图找出如何将空列表附加到已经存在的numpy数组中

我可以为任何列表b获取数组吗

a = np.array([b])
a = np.append(a, [])
print a # you get array([a, []])

此代码只输出原始[a],而不是[a,[]。有人知道这是如何实现的吗?

在数组中创建空列表的唯一方法是创建对象数据类型数组

In [382]: a = np.empty((3,),dtype=object)
In [383]: a
Out[383]: array([None, None, None], dtype=object)
In [384]: a[0]=[1,2,3]
In [385]: a[1]=[]
In [386]: a
Out[386]: array([[1, 2, 3], [], None], dtype=object)
或者从不同长度的列表中选择

In [393]: np.array([[1,2,3],[]])
Out[393]: array([[1, 2, 3], []], dtype=object)
可以将一个对象数组连接到另一个对象数组:

In [394]: a = np.empty((1,),object); a[0]=[1,2,3]
In [395]: a
Out[395]: array([[1, 2, 3]], dtype=object)
In [396]: b = np.empty((1,),object); b[0]=[]
In [397]: b
Out[397]: array([[]], dtype=object)
In [398]: np.concatenate((a,b))
Out[398]: array([[1, 2, 3], []], dtype=object)
np.append包装串联,用于将标量添加到另一个数组中。它对一个列表的处理,不管是空的还是其他的,都是不可预测的

我收回最后的评论;np.append将列表转换为一个简单数组。这些都做同样的事情

In [413]: alist=[1,2]
In [414]: np.append(a,alist)
Out[414]: array([[1, 2, 3], 1, 2], dtype=object)
In [415]: np.concatenate((a, np.ravel(alist)))
Out[415]: array([[1, 2, 3], 1, 2], dtype=object)
In [416]: np.concatenate((a, np.array(alist)))
Out[416]: array([[1, 2, 3], 1, 2], dtype=object)

你希望a.shape在追加后是什么?这没有意义,你不能更改matrixa.shape=2L、@shx2的形状,所以你从一个3维数组开始,你希望它在追加后是1维?。。。很明显,您在这里有一些想法是错误的……是的,我不担心[1,2],我只想在它后面附加一个空列表np.array[],[],[]