Open In App

Python | Convert an array to an ordinary list with the same items

Last Updated : 21 Aug, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

When working with arrays, a frequent requirement is to convert them into standard lists, while retaining the original elements. This article delves into the art of effortlessly transforming arrays into lists using Python, maintaining the integrity of their contents.

Input:     array('i', [1, 3, 5, 3, 7, 1, 9, 3])
Output: [1, 3, 5, 3, 7, 1, 9, 3]
Explanation: The array with elements [1, 3, 5, 3, 7, 1, 9, 3] are converted into list with the same elements.
Input : array('k', [45, 23, 56, 12])
Output: [45, 23, 56, 12]
Explanation: The array with elements [45, 23, 56, 12] are converted into list with the same elements.

Converting one-dimensional NumPy Array to List

Below are the methods that we will cover in this article:

Method 1: Using Loop

The code you’ve provided creates a one-dimensional NumPy array using the `np.array()` function with the elements `[1, 2, 3, 4, 5]`. Then, it uses a `for` loop to iterate through each element in the NumPy array and appends each element to the `list_from_numpy` list. Finally, it prints the content of `list_from_numpy`.

Python3




import numpy as np
 
# Create a NumPy array
numpy_array = np.array([1, 2, 3, 4, 5])
 
# Convert NumPy array to list using a loop
list_from_numpy = []
for item in numpy_array:
    list_from_numpy.append(item)
 
print(list_from_numpy)


Output:

[1, 2, 3, 4, 5]

Method 2: Using tolist() function

The NumPy library is imported as `np`. A one-dimensional NumPy array is created using the `np.array()` function, containing the elements `[1, 2, 3, 4, 5]`. The `tolist()` function, a method provided by NumPy arrays, is then used to convert the NumPy array into a standard Python list, and the resulting list is stored in the variable `list_from_numpy`. Finally, the content of `list_from_numpy` is printed, displaying the converted Python list containing the same elements as the original NumPy array. This method is concise and efficient for converting NumPy arrays to lists.

Python3




import numpy as np
 
# Create a NumPy array
numpy_array = np.array([1, 2, 3, 4, 5])
 
# Convert NumPy array to list using tolist() function
list_from_numpy = numpy_array.tolist()
 
print(list_from_numpy)


Ouput:

[1, 2, 3, 4, 5]

Method 3: using array.array() function

This code converts an array of integers to a list of integers using the built-in list() function. It creates an array using the array() method from the array module, and then calls the list() function on the array to convert it to a list. Finally, it prints the resulting list.Import array module then Create an array and Convert the array to a list using the list() function now Print the resulting list

Python3




import array
arr = array.array('i', [1, 3, 5, 3, 7, 1, 9, 3])
lst = list(arr)
print(lst)


Output

[1, 3, 5, 3, 7, 1, 9, 3]

Converting multi-dimensional NumPy Array to List

Below are the methods that we will cover in this article:

Method 1: using Loop

In this code, the outer loop iterates through each row of the multi-dimensional NumPy array. Inside the outer loop, there’s an inner loop that iterates through the items in each row and appends them to a nested list. This nested list is then appended to the list_from_numpy list. After both loops are done, you’ll have converted the multi-dimensional NumPy array to a nested Python list.

Python3




import numpy as np
 
# Create a multi-dimensional NumPy array
numpy_array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
 
# Convert NumPy array to nested list using loops
list_from_numpy = []
for row in numpy_array:
    nested_list = []
    for item in row:
        nested_list.append(item)
    list_from_numpy.append(nested_list)
 
print(list_from_numpy)


Output:

[[1, 2, 3],[4, 5, 6],[7, 8, 9]]

Method 2: using tolist() function

The tolist() function will convert the multi-dimensional NumPy array into a nested list structure, preserving the dimensions and values of the original array. The output of the code would be

Python3




import numpy as np
 
# Create a multi-dimensional NumPy array
numpy_array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
 
# Convert multi-dimensional NumPy array to nested list using tolist()
nested_list = numpy_array.tolist()
 
print(nested_list)


Output:

[[1, 2, 3], 
[4, 5, 6],
[7, 8, 9]]


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads