如何在python中将3D数组转换为2D数组列表?

如何在python中将3D数组转换为2D数组列表?,python,list,multidimensional-array,svd,Python,List,Multidimensional Array,Svd,我想将一个3D数组(假设大小为3x4)转换为一个包含3个(3x4)数组的列表。 else块中的3D数组A与if块中的类型不同 我尝试了tolist()函数,但它将3D数组转换为列表列表,这是不需要的 X = np.random.randn(3, 3, 3) for R in range(1,10): N = len(X.shape) B = () C = [] for i in range(N): B += svd(X[i])

我想将一个3D数组(假设大小为3x4)转换为一个包含3个(3x4)数组的列表。 else块中的3D数组A与if块中的类型不同

我尝试了tolist()函数,但它将3D数组转换为列表列表,这是不需要的

X = np.random.randn(3, 3, 3)
for R in range(1,10):
    N = len(X.shape) 
    B = ()
    C = []

    for i in range(N):
        B += svd(X[i])
        C.append(B[3*i])
        
    C = np.array(C)
    if R <= np.shape(C)[2]:
        A = C[:,:,:R]
    else:
        A = np.concatenate((C[:,:,:np.shape(C)[2]],np.zeros((3,3,1))),axis=2)
X=np.random.randn(3,3,3)
对于范围(1,10)内的R:
N=透镜(X形)
B=()
C=[]
对于范围(N)中的i:
B+=svd(X[i])
C.追加(B[3*i])
C=np.数组(C)

如果要将3D数组转换为2D数组列表,只需使用
list

X = np.random.randn(3, 3, 3)
list(X)

要将三维阵列转换为二维阵列列表,只需使用
list

X = np.random.randn(3, 3, 3)
list(X)

numpy数组是一个iterable,您可以轻松地将其转换为列表:

lst = list(A)
演示:


numpy数组是一个iterable,您可以轻松地将其转换为列表:

lst = list(A)
演示:


这闻起来像个XY问题。什么是numpy不能为你做的?这闻起来像是XY问题。列表能为你做什么,而numpy做不到?