如何将3D列表转换为Python中的2D列表?

问题描述:

这是我的代码:如何将3D列表转换为Python中的2D列表?

[[[3], [4]], [[5], [6]], [[7], [8]]] 

我怎样才能把它变成:

[[3], [4], [5], [6], [7], [8]] 

+0

对此问题有如此多的评论,但对于初学者来说,嵌套列表并没有被“nD” - “列表列表列表“至少可以满足 – n1c9

+0

当以任何*非平凡的方式处理列表时,*总是*使用numpy。 – o11c

+0

@ o11c请记住这一点。 –

你想变平输入列表中的一个级别,尝试此解决方案使用列表理解:

lst = [[[3], [4]], [[5], [6]], [[7], [8]]] 
[e for sl in lst for e in sl] 
=> [[3], [4], [5], [6], [7], [8]] 

试试这个:

import numpy as np 
a = np.array([[[3],[4]],[[5],[6]],[[7],[8]]]) 
b = a.reshape(6,1) 

未压缩或很长的路要走:

l3d = [[[3], [4]], [[5], [6]], [[7], [8]]] 
l2d = [] 
for e1 in l3d: 
    for e2 in e1: 
     l2d.append(e2)