numpy.ndarray.tolist#
方法
- ndarray.tolist()#
将数组返回为
a.ndim
级别的深度嵌套的 Python 标量列表.返回数组数据的一个副本作为(嵌套的)Python列表.数据项通过
item
函数转换为最接近的内置Python类型.如果
a.ndim
是 0,那么由于嵌套列表的深度为 0,它将根本不是一个列表,而是一个简单的 Python 标量.- 参数:
- none
- 返回:
- y对象,或对象列表,或对象列表的列表,或…
可能是嵌套的数组元素列表.
备注
可以通过
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]]
这种递归的基本情况是0D数组:
>>> a = np.array(1) >>> list(a) Traceback (most recent call last): ... TypeError: iteration over a 0-d array >>> a.tolist() 1