如何将3D列表转换为Python中的2D列表?
问题描述:
这是我的代码:如何将3D列表转换为Python中的2D列表?
[[[3], [4]], [[5], [6]], [[7], [8]]]
我怎样才能把它变成:
[[3], [4], [5], [6], [7], [8]]
?
答
你想变平输入列表中的一个级别,尝试此解决方案使用列表理解:
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)
对此问题有如此多的评论,但对于初学者来说,嵌套列表并没有被“nD” - “列表列表列表“至少可以满足 – n1c9
当以任何*非平凡的方式处理列表时,*总是*使用numpy。 – o11c
@ o11c请记住这一点。 –