numpy.recarray.tolist#

方法

recarray.tolist()#

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

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

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

参数:
返回:
yobject, 或 object 列表, 或 object 的列表的列表, 或 …

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

注释

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

示例

对于一维数组,a.tolist() 几乎与 list(a) 相同,不同之处在于 tolist 会将 NumPy 标量转换为 Python 标量

>>> import numpy as np
>>> a = np.uint32([1, 2])
>>> a_list = list(a)
>>> a_list
[np.uint32(1), np.uint32(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]]

此递归的基准情况是 0 维数组

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