首页 > 解决方案 > 如何在不使用循环的情况下将一维列表转换为二维列表?

问题描述

我有一个浮动列表:

[1.0, 2.0, 3.0, 4.0] 

如何将此列表重塑为多维数组,例如:

[[1.0, 1.0, 1.0], [2.0, 2.0, 2.0], [3.0, 3.0, 3.0], [4.0, 4.0 ,4.0]]

不使用循环?是否可以使用numpy或任何其他?

标签: pythonarrayslistnumpy

解决方案


如果你从一个 NumPy 数组开始,你可以使用numpy.repeat()然后reshape()得到你想要的数组大小/形状:

> import numpy as np

> a = np.array([1.0, 2.0, 3.0, 4.0])

> np.repeat(a, 3).reshape(-1, 3) 

array([[1., 1., 1.],
       [2., 2., 2.],
       [3., 3., 3.],
       [4., 4., 4.]])

推荐阅读