Python Numpy array tolist() - Convert Array to List

Updated on November 8, 2024
tolist() header image

Introduction

The tolist() method in Python's NumPy library is an integral function for converting a numpy array into a native Python list. This conversion is often necessary for data manipulation tasks that require the versatility and simplicity of Python lists, or when interfacing with functions that do not accept numpy arrays.

In this article, you will learn how to use the tolist() method to transform numpy arrays into lists. You will explore examples that illustrate the conversion process for various types of data, including multidimensional arrays.

Converting Single-Dimensional Arrays

Basic Conversion

  1. Import the numpy library and create a numpy array.

  2. Convert the numpy array to a list using the tolist() method.

    python
    import numpy as np
    
    # Creating a single-dimensional numpy array
    array = np.array([1, 2, 3, 4, 5])
    
    # Converting numpy array to list
    converted_list = array.tolist()
    print(converted_list)
    

    This code snippet demonstrates the basic conversion of a numpy array to a Python list. The tolist() method is called on a numpy array object, and the result is a Python list containing the same elements.

Converting Multi-Dimensional Arrays

Handling Nested Arrays

  1. Start by generating a multi-dimensional numpy array.

  2. Apply the tolist() method to convert it into a multi-level nested list.

    python
    import numpy as np
    
    # Creating a two-dimensional numpy array
    array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
    
    # Converting two-dimensional numpy array to nested list
    converted_nested_list = array_2d.tolist()
    print(converted_nested_list)
    

    In this example, a two-dimensional array is transformed into a list of lists. Each sub-list in the resulting data structure corresponds to a row in the original numpy array.

Special Cases: Arrays with Mixed Data Types

Conversion of Structured Arrays

  1. Create a structured numpy array containing multiple data types.

  2. Use tolist() to convert this structured array into a list of tuples.

    python
    import numpy as np
    
    # Creating a structured numpy array
    data = np.array([(1, 'Apple', 3.5), (2, 'Banana', 7.8)],
                    dtype=[('ID', 'i4'), ('Name', 'U10'), ('Price', 'f4')])
    
    # Converting structured numpy array to list of tuples
    structured_list = data.tolist()
    print(structured_list)
    

    The numpy structured array contains data in fields with different types. When using tolist(), each record in the array is converted into a tuple, and the whole array becomes a list of these tuples.

Conclusion

The tolist() method from NumPy offers a straightforward and effective way to convert numpy arrays into Python lists. This functionality is crucial for tasks that require the flexible data structure of lists, or when working with components that strictly require native list inputs. Whether dealing with simple, single-dimensional data or complex multi-dimensional and structured data, tolist() ensures that you can easily transition between numpy arrays and Python lists. With the concepts covered, you can now adeptly handle the conversion of arrays into lists in your data processing workflows.