Numpy Array to List

Numpy Array to List

Numpy is a powerful library for numerical computing in Python. It provides a high-performance multidimensional array object, and tools for working with these arrays. A common operation with numpy arrays is converting them to lists. This can be useful for integration with other Python libraries that do not support numpy arrays or for outputting data in a more human-readable format.

In this article, we will explore various ways to convert numpy arrays to lists, along with detailed examples. We’ll cover simple conversions, as well as more complex scenarios involving multi-dimensional arrays and arrays with different data types.

Basic Conversion of Numpy Array to List

The simplest way to convert a numpy array to a list is by using the tolist() method. This method is called on the numpy array object and returns a list.

Example 1: Converting a One-Dimensional Array

import numpy as np

# Create a numpy array
array = np.array([1, 2, 3, 4, 5])

# Convert to list
list_output = array.tolist()

print(list_output)  # Output will be: [1, 2, 3, 4, 5]

Output:

Numpy Array to List

Example 2: Converting a Two-Dimensional Array

import numpy as np

# Create a 2D numpy array
array = np.array([[1, 2, 3], [4, 5, 6]])

# Convert to list
list_output = array.tolist()

print(list_output)  # Output will be: [[1, 2, 3], [4, 5, 6]]

Output:

Numpy Array to List

Using list() Function

Another way to convert a numpy array to a list is by using the built-in Python function list(). However, this method only converts the outermost dimension to a list. For multi-dimensional arrays, nested arrays will remain as numpy arrays.

Example 3: Using list() on a One-Dimensional Array

import numpy as np

# Create a numpy array
array = np.array([1, 2, 3, 4, 5])

# Convert to list using list()
list_output = list(array)

print(list_output)  # Output will be: [1, 2, 3, 4, 5]

Output:

Numpy Array to List

Example 4: Using list() on a Two-Dimensional Array

import numpy as np

# Create a 2D numpy array
array = np.array([[1, 2, 3], [4, 5, 6]])

# Convert to list using list()
list_output = list(array)

print(list_output)  # Output will be: [array([1, 2, 3]), array([4, 5, 6])]

Output:

Numpy Array to List

Flattening and Converting to List

Sometimes, you may want to convert a multi-dimensional array into a flat list. This involves flattening the array first and then converting it to a list.

Example 5: Flattening a Two-Dimensional Array

import numpy as np

# Create a 2D numpy array
array = np.array([[1, 2, 3], [4, 5, 6]])

# Flatten the array
flat_array = array.flatten()

# Convert to list
list_output = flat_array.tolist()

print(list_output)  # Output will be: [1, 2, 3, 4, 5, 6]

Output:

Numpy Array to List

Example 6: Flattening a Three-Dimensional Array

import numpy as np

# Create a 3D numpy array
array = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])

# Flatten the array
flat_array = array.flatten()

# Convert to list
list_output = flat_array.tolist()

print(list_output)  # Output will be: [1, 2, 3, 4, 5, 6, 7, 8]

Output:

Numpy Array to List

Converting Arrays with Different Data Types

Numpy arrays can contain elements of different data types, including integers, floats, and strings. When converting these arrays to lists, the data types are preserved in the list elements.

Example 7: Array with Integers

import numpy as np

# Create a numpy array with integers
array = np.array([1, 2, 3, 4, 5])

# Convert to list
list_output = array.tolist()

print(list_output)  # Output will be: [1, 2, 3, 4, 5]

Output:

Numpy Array to List

Example 8: Array with Floats

import numpy as np

# Create a numpy array with floats
array = np.array([1.1, 2.2, 3.3, 4.4, 5.5])

# Convert to list
list_output = array.tolist()

print(list_output)  # Output will be: [1.1, 2.2, 3.3, 4.4, 5.5]

Output:

Numpy Array to List

Example 9: Array with Strings

import numpy as np

# Create a numpy array with strings
array = np.array(["numpyarray.com", "example", "list"])

# Convert to list
list_output = array.tolist()

print(list_output)  # Output will be: ["numpyarray.com", "example", "list"]

Output:

Numpy Array to List

Advanced Scenarios

Example 10: Converting a Structured Array

import numpy as np

# Create a structured numpy array
dtype = [('name', 'U10'), ('age', 'i4'), ('height', 'f4')]
data = [('Alice', 25, 5.5), ('Bob', 30, 6.0), ('Cathy', 22, 5.7)]
array = np.array(data, dtype=dtype)

# Convert to list
list_output = array.tolist()

print(list_output)  # Output will be: [('Alice', 25, 5.5), ('Bob', 30, 6.0), ('Cathy', 22, 5.7)]

Output:

Numpy Array to List

Example 11: Array with Mixed Data Types

import numpy as np

# Create a numpy array with mixed data types
array = np.array([1, 2.2, "numpyarray.com"])

# Convert to list
list_output = array.tolist()

print(list_output)  # Output will be: [1, 2.2, 'numpyarray.com']

Output:

Numpy Array to List

Numpy Array to List Conclusion

Converting numpy arrays to lists is a common task in data processing and analysis. Whether you’re working with simple one-dimensional arrays or complex multi-dimensional ones, numpy provides flexible options to achieve this conversion. By using methods like tolist(), list(), and array flattening techniques, you can easily convert numpy arrays to Python lists while preserving the data structure and types.