numpy.ndarray.tolist #

方法

ndarray。列出( ) #

将数组作为a.ndimPython 标量的 -levels 深度嵌套列表返回。

以(嵌套)Python 列表的形式返回数组数据的副本。数据项通过该函数转换为最接近的兼容内置 Python 类型item

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

参数
没有任何
返回
y对象,或对象列表,或对象列表列表,或...

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

笔记

可以通过 重新创建数组,尽管这有时可能会丢失精度。a = np.array(a.tolist())

例子

对于一维数组,a.tolist()几乎与 相同list(a),只是将tolistnumpy 标量更改为 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'>

此外,对于 2D 数组,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