Python 为什么列表中的数组没有变大?

Python 为什么列表中的数组没有变大?,python,arrays,numpy,Python,Arrays,Numpy,我目前正在尝试将numpy.array附加到numpy.array的numpy.array,但由于某些原因,它应该增加的维度没有增加 我之前也发表过一篇类似的文章,但是对于numpy.arrays的list,这很有效,但是因为我使用的numpy.ndarrays比示例中的多,所以我将列表转换为numpy.arrays以使其速度更快-容器的形状是(72,0,78,3) 例如: import numpy as np nano_train_input = [] for i in range(974)

我目前正在尝试将
numpy.array
附加到
numpy.array
numpy.array
,但由于某些原因,它应该增加的维度没有增加


我之前也发表过一篇类似的文章,但是对于
numpy.arrays
list
,这很有效,但是因为我使用的
numpy.ndarrays
比示例中的多,所以我将列表转换为
numpy.arrays
以使其速度更快-容器的形状是(72,0,78,3)

例如:

import numpy as np

nano_train_input = []
for i in range(974):
    nano_train_input.append(np.random.random((78,72,3)))

input_train = np.array([np.empty((0,78,3)) for i in range(72)])

print input_train.shape
raw_input("sadasd...")
#print nano_train_input.shape
i = 0
j = 0
for train in nano_train_input:
    for row in train.reshape(72,78,3):
        #print row.reshape(1,78,3).shape
        input_train[i]= np.concatenate((input_train[i],row.reshape(1,78,3)),axis=0)
        i = i+1
        print input_train[0].shape
    i=0

print input_train[0].shape
问题是,在输入串联后,列[0]。形状仍然是(0,78,3),而不是所需的(974,78,3)。。。我该如何解决这个问题


我打算将输入序列转换为列表,但使用
numpy.tolist()

“但是由于我使用的numpy.ndarray比示例中的多,我将列表转换为numpy.arrays以加快速度”-一次追加一个数组是少数几个实际应该坚持使用列表的实例之一,至少在追加完成之前是这样。
np.concatenate
实际上对其输入没有任何作用。它构建了一个新的数组,你可以忽略它并丢弃它。看起来您可以只使用一个数组而不是列表,并进行一些
重塑
交换参数
调用,而不是尝试进行任何连接。@user2357112修复了它..=仍然不起作用。我不知道我为什么要坚持下去?。。如果numpy做得更快?我不确定我是否理解您建议的解决方案。。@user2357112。。更好的解决方案也会更好。