如何将2d列表转换为2d numpy数组?

Sha*_*han 73 python numpy

我有一个类似的2D列表

a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] 
Run Code Online (Sandbox Code Playgroud)

我想将它转换为2d numpy数组.我们可以在不分配内存的情况下完成

numpy.zeros((3,3))
Run Code Online (Sandbox Code Playgroud)

然后将值存储到它?

unu*_*tbu 81

只需将列表传递给np.array:

a = np.array(a)
Run Code Online (Sandbox Code Playgroud)

您也可以借此机会设置dtype默认值是否符合您的要求.

a = np.array(a, dtype=...)
Run Code Online (Sandbox Code Playgroud)

  • 这个解决方案不起作用.你会得到一个庞大的python列表数组. (70认同)
  • @ user1816847仅当'sub'列表的长度不同时才会发生(例如:[[1,2],[1,2],[1,2,3]].它与问题中给出的示例一起使用. (36认同)
  • 如果子数组的长度不同,则此解决方案将只为您提供一个numpy列表数组(即内部列表不会转换为numpy数组)。这完全有意义,因为您无法拥有具有可变第二维的2D数组(矩阵)。 (4认同)