numpy.ndarray.tolist

numpy.ndarray.tolist

https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.tolist.html
https://numpy.org/devdocs/reference/generated/numpy.ndarray.tolist.html

1. ndarray.tolist()

Return the array as an a.ndim-levels deep nested list of Python scalars.
将数组作为 a.ndim-levels 深层嵌套的 Python 标量列表返回。

Return a copy of the array data as a (nested) Python list. Data items are converted to the nearest compatible builtin Python type, via the item function.
返回数组数据的副本作为 (嵌套的) Python 列表。数据项通过 item 函数转换为最兼容的内置 Python 类型。

If a.ndim is 0, then since the depth of the nested list is 0, it will not be a list at all, but a simple Python scalar.
如果 a.ndim 为 0,则由于嵌套列表的深度为 0,因此它根本不是列表,而是简单的 Python 标量。

Parameters
none

Returns
y : object, or list of object, or list of list of object, or …
The possibly nested list of array elements.
数组元素的可能嵌套列表。

1.1 Notes

The array may be recreated via a = np.array(a.tolist()), although this may sometimes lose precision.
可以通过 a = np.array(a.tolist()) 重新创建数组,尽管有时可能会失去精度。

1.2 Examples

For a 1D array, a.tolist() is almost the same as list(a), except that tolist changes numpy scalars to Python scalars:

strong@foreverstrong:~$ python3
Python 3.5.2 (default, Oct  8 2019, 13:06:37)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> a = np.array([1, 2])
>>> list(a)
[1, 2]
>>>
>>> a.tolist()
[1, 2]
>>>
>>> exit()
strong@foreverstrong:~$
strong@foreverstrong:~$ python3
Python 3.5.2 (default, Oct  8 2019, 13:06:37)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> a = np.uint32([1, 2])
>>> a_list = list(a)
>>> a_list
[1, 2]
>>> type(a_list[0])

>>>
>>> a_tolist = a.tolist()
>>> a_tolist
[1, 2]
>>> type(a_tolist[0])

>>> exit()
strong@foreverstrong:~$

However, for a 2D array, tolist applies recursively:

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

The base case for this recursion is a 0D array:

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

你可能感兴趣的:(NumPy)