numpy.ndarray.tolist

方法

ndarray.tolist()

作为数组返回 a.ndim -Python标量的深度嵌套列表。

以(嵌套的)Python列表的形式返回数组数据的副本。数据项通过 item 功能。

如果 a.ndim 如果是0,那么由于嵌套列表的深度是0,那么它根本就不是一个列表,而是一个简单的Python标量。

参数
none
返回
y对象,或对象列表,或对象列表,或。。。

数组元素的可能嵌套列表。

笔记

数组可以通过 a = np.array(a.tolist()) ,尽管有时可能会失去精度。

实例

对于一维阵列, a.tolist() 几乎和 list(a) 除了 tolist 将numpy标量更改为Python标量:

>>> a = np.uint32([1, 2])
>>> a_list = list(a)
>>> a_list
[1, 2]
>>> type(a_list[0])
<class 'numpy.uint32'>
>>> a_tolist = a.tolist()
>>> a_tolist
[1, 2]
>>> type(a_tolist[0])
<class 'int'>

另外,对于二维阵列, tolist 递归应用:

>>> a = np.array([[1, 2], [3, 4]])
>>> list(a)
[array([1, 2]), array([3, 4])]
>>> a.tolist()
[[1, 2], [3, 4]]

此递归的基本情况是0D数组:

>>> a = np.array(1)
>>> list(a)
Traceback (most recent call last):
  ...
TypeError: iteration over a 0-d array
>>> a.tolist()
1