将numpy数组转换为list返回类型numpy.ndarray

nan*_*han 1 python arrays numpy

我试图将numpy数组转换为列表,我注意到它仍然返回一个ndarray.我用一个简单的例子测试了它,它仍然返回ndarray:

import numpy as np
a=np.array([[1,2,3],[4,5,6]])
a
array([[1, 2, 3],
       [4, 5, 6]])
type(a)
<class 'numpy.ndarray'>
a.tolist()
[[1, 2, 3], [4, 5, 6]]
type(a)
<class 'numpy.ndarray'>
Run Code Online (Sandbox Code Playgroud)

第二个结果看起来像一个列表,但类型没有改变.为什么会发生这种情况以及将其转换为列表的方式是什么?

Kas*_*mvd 6

tolist()方法不能就地工作.您需要重新分配结果:

In [5]: a = a.tolist()

In [6]: type(a)
Out[6]: list
Run Code Online (Sandbox Code Playgroud)