method
ndarray.
tolist
Return the array as an a.ndim-levels deep nested list of Python scalars.
a.ndim
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.
item
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.
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.
a = np.array(a.tolist())
Examples
For a 1D array, a.tolist() is almost the same as list(a), except that tolist changes numpy scalars to Python scalars:
a.tolist()
list(a)
>>> 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