Skip to main content
Documents
basicsArray CreationArray OperationsArray Computation & AnalysisLinear AlgebraRandom ProbabilityData Input/Output & Conversion

NumPy Array to List

NumPy provides functionalities for data input/output and conversion, allowing transitions between different data formats. A common operation is converting a NumPy array to a Python list, which can be useful for interoperability with other Python data structures.

Usage

The conversion from a NumPy array to a list is often used when NumPy's capabilities are no longer needed, and a simpler Python list suffices. This conversion can be performed using the tolist() method.

array.tolist()

In this syntax, array is the NumPy array you wish to convert into a Python list.

Examples

1. Basic Conversion

import numpy as np

array = np.array([1, 2, 3, 4])
list_result = array.tolist()

This example converts a one-dimensional NumPy array into a Python list, resulting in [1, 2, 3, 4].

2. Multi-Dimensional Array Conversion

import numpy as np

array = np.array([[1, 2], [3, 4]])
list_result = array.tolist()

Here, a two-dimensional NumPy array is converted to a nested Python list, producing [[1, 2], [3, 4]].

3. Conversion with Data Types

import numpy as np

array = np.array([1.5, 2.5, 3.5], dtype=np.float32)
list_result = array.tolist()

This example converts a NumPy array with a specific data type (float32) to a Python list. Note that while the numerical values are preserved, the list does not maintain the same precision constraints as the original NumPy array.

4. Object-Type Array Conversion

import numpy as np

array = np.array([1, 'a', 3.5], dtype=object)
list_result = array.tolist()

In this example, a NumPy array with mixed data types is converted to a Python list, resulting in [1, 'a', 3.5]. The tolist() method effectively handles object-type arrays, preserving the mixed data types.

Tips and Best Practices

  • Ensure compatibility. Only convert to a list when the operations you plan to perform are better suited for native Python lists.
  • Be cautious with large datasets. Large arrays converted to lists may lead to increased memory consumption and may impact performance in terms of time complexity.
  • Maintain data types. Be aware that converting a NumPy array to a list may result in loss of data type specificity and numerical precision constraints.
  • Use for interoperability. Convert to a list when interfacing with libraries or functions that do not support NumPy arrays, such as certain Python libraries.
  • Consider scenarios for conversion. Converting to a list is particularly advantageous when dealing with Python libraries that do not accept NumPy arrays or when preparing data for serialization.

Handling Complex Numbers

import numpy as np

array = np.array([1+2j, 3+4j])
list_result = array.tolist()

For arrays containing complex numbers, the tolist() method converts the NumPy array to a list containing complex number representations, such as [(1+2j), (3+4j)]. This is useful for scientific computations where complex numbers play a crucial role.