numpy.ndarray.tolist() in Python

The numpy module provides a function numpy.ndarray.tolist(), used to convert the data elements of an array into a list. This function returns the array as an a.ndim- levels deep nested list of Python scalars.

In simple words, this function returns a copy of the array elements as a Python list. The elements are converted to the nearest compatible built-in Python type through the item function. When 'a.ndim' is 0, then the depth of the list is 0, and it will be a simple Python scalar, not any list.

Syntax

snippet
`ndarray.tolist()`

Parameters

This function has no arguments or parameters.

Returns: y: object, or list of object, or list of object

This function returns the possibly nested list of array elements.

Note
Note
We can re-create the array via a=np.array(a.tolist()), however it can sometimes lose precision.

Example 1:

If we will use a.tolist() for a 1D array then it will be almost the same as list(a), except that tolist converts numpy scalars to Python scalars.

snippet
```import numpy as np
a = np.uint32([6, 2])
a
a_list=list(a)
a_list
type(a_list[0])
a_tolist=a.tolist()
a_tolist
type(a_tolist[0])```

Output:

Output
array([6, 2], dtype=uint32) [6, 2] <type 'numpy.uint32'> [6L, 2L] <type 'long'>

In the above code

• We have imported numpy with alias name np.
• We have created an array 'a' using np.uint32() function.
• We have declared the variable 'a_list' and assigned the returned value of the list() function.
• We tried to print the value of 'a', 'a_list', and type of a_list.
• We have declared the variable a_tolist and assigned the returned value of ndarray.tolist().
• Lastly, we tried to print the type and the value of 'a_tolist'.

In the output, it shows a list and the type whose elements are transformed from the source array.

Example 2:

For a 2-dimensional array, tolist is applied recursively.

snippet
```import numpy as np
a = np.array([[11, 21], [31, 41]])
b=a.tolist()
a
b```

Output:

Output
array([[11, 21], [31, 41]]) [[11, 21], [31, 41]]

In the above code

• We have imported numpy with alias name np.
• We have created a 2-dimensional array 'a' using the np.array() function.
• We have declared the variable 'b' and assigned the returned value of a.tolist() function.
• Lastly, we tried to print the value of 'b'.

In the output, it shows a list whose elements are transformed from the source array.

Example 3:

snippet
```import numpy as np
x = np.array(5)
list(x)
y=x.tolist()
y```

Output:

Output
Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: iteration over a 0-d array 5
Related Tutorial