numpy.ndarray.tolist#

method

ndarray.tolist()#

Return the array as ana.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, viatheitem method.

Ifa.ndim is 0, then since the depth of the nested list is 0, it willnot 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 viaa=np.array(a.tolist()), although thismay sometimes lose precision.

Examples

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

>>>importnumpyasnp>>>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'>

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
On this page