numpy.ndarray.tolist — NumPy v1.18 Manual (original) (raw)
method
ndarray.
tolist
()¶
Return the array as an a.ndim
-levels deep nested list of Python scalars.
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.
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.
Parameters
none
Returns
yobject, or list of object, or list of list of object, or …
The possibly nested list of array elements.
Notes
The array may be recreated via a = np.array(a.tolist())
, although this may sometimes lose precision.
Examples
For a 1D array, a.tolist()
is almost the same as list(a)
, except that tolist
changes numpy scalars to Python scalars:
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'>
Additionally, 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