首页 > 解决方案 > 在 Python 中将 2D 列表转换为 3D 列表

问题描述

我在 Python 中有一个维度为(2、7)的列表列表(2D 列表),我想将其转换为维度(2、7、1)的列表列表(3D 列表)。

输入:

[[0, 0, 1, 0, 1, 0, 0],
 [1, 0, 1, 0, 0, 0, 0]]

输出:

[[[0],
  [0],
  [1],
  [0],
  [1],
  [0],
  [0]
 ]
 [[1],
  [0],
  [1],
  [0],
  [0],
  [0],
  [0]]]

我该怎么做?

标签: python

解决方案


您可以使用双 for 循环(或列表理解)来做到这一点,但对于那种事情,最好使用 numpy

 import numpy as np
 x2D = np.array([[0, 0, 1, 0, 1, 0, 0], [1, 0, 1, 0, 0, 0, 0]])
 x3D = x2D[:, :, None]

推荐阅读