在Python中,如何将数字数组列表转换为简单的1D numpy数组?

在Python中,如何将数字数组列表转换为简单的1D numpy数组?,python,arrays,numpy,Python,Arrays,Numpy,在我的代码中,我创建了一个具有不同长度的nnp.arrays的列表 如何创建列表的示例: MyArr = [None] * n for l in range(n): MyArr[l] = np.array([1, 2, 3]) # Example 1 # MyArr[l] = np.array([-1, -10]) # Example 2 我最终想要做的是使MyArr成为一维数字数组,如下所示: MyArr=[np.array([1,2,3])、np.array([1

在我的代码中,我创建了一个具有不同长度的
n
np.array
s的列表

如何创建列表的示例:

MyArr = [None] * n
for l in range(n):
    MyArr[l] = np.array([1, 2, 3])   # Example 1
    # MyArr[l] = np.array([-1, -10])   # Example 2 
我最终想要做的是使
MyArr
成为一维数字数组,如下所示:

MyArr=[np.array([1,2,3])、np.array([1,2])、np.array([10])、np.array([-1,-2,-3])]

进入:

np.array([1,2,3,1,2,10,-1,-2,-3])

因为
n
相当大,我认为使用for循环不是一个好主意。你们觉得怎么样?

numpy
的功能可能有助于:

np.连接([arr_1,arr_2,arr_3])

首先,构建
MyArr
for
循环存在问题。请注意,您重写了
l
th元素,因为您在一次迭代中设置了它两次

其次,要展平numpy阵列列表,您可以通过以下方式使用:

l = [np.array([1,2,3]), np.array([-1,10])]
np.hstack(l)

它似乎会起作用。@bicarlsen
flatten
是一种方法,因此您可以在
MyArr
上应用它,但在nd数组上应用它。所以在这种情况下,这不是需要的,只是“相当大”到底有多大?