在python中,当数组具有不同的形状时,如何在单个数组中转换数组列表

在python中,当数组具有不同的形状时,如何在单个数组中转换数组列表,python,list,numpy,Python,List,Numpy,我有一个不同维度的数组列表,我想把这些数组连接成一个数组 如果我有 LIST = [array([[0.786, 0.819]]), array([[0.811, 0.804]]), array([[0.821]])] 我想把它转换成一个数组: ARRAY = array([0.786, 0.819, 0.811, 0.804, 0.821]) 因此,我想将列表中每个数组的所有值连接到一个数组中 np.hstack([i[0] for i in LIST]) 如果数组是向量而不是矩阵,即仅

我有一个不同维度的数组列表,我想把这些数组连接成一个数组

如果我有

LIST = [array([[0.786, 0.819]]), array([[0.811, 0.804]]), array([[0.821]])]
我想把它转换成一个数组:

ARRAY = array([0.786, 0.819, 0.811, 0.804, 0.821])
因此,我想将列表中每个数组的所有值连接到一个数组中

np.hstack([i[0] for i in LIST])
如果数组是向量而不是矩阵,即仅使用单个
[]
,而不是
[[]]
,则它可能是
np.hstack(LIST)

l = [np.array([[0.786, 0.819]]), np.array([[0.811, 0.804]]), np.array([[0.821]])]
a = np.array([])
for x in l:
  a = np.concatenate((a, x[0]))
print (a)
Outuput

[0.786 0.819 0.811 0.804 0.821]
您可以使用,无需循环

import numpy as np

LIST = [np.array([[0.786, 0.819]]), np.array([[0.811, 0.804]]), np.array([[0.821]])]

arr = np.hstack([*LIST])
arr
array([[0.786, 0.819, 0.811, 0.804, 0.821]])