Convertir un tableau NumPy en liste en Python

Manav Narula 10 octobre 2023
  1. Utilisez la méthode tolist() pour convertir un tableau NumPy en liste
  2. Utilisez la boucle for pour convertir un tableau NumPy en liste en Python
Convertir un tableau NumPy en liste en Python

Les listes et les tableaux sont deux des objets de collection les plus fondamentaux et les plus fréquemment utilisés en Python.

Les deux sont mutables, utilisés pour stocker une collection d’éléments sous un nom commun, et chaque élément a une position spécifique qui peut être utilisée pour y accéder.

Cependant, il existe quelques différences notables. Les listes sont déjà intégrées en Python, alors que pour les tableaux, nous devons importer des modules arrays ou NumPy et déclarer les tableaux avant de les utiliser. Les tableaux stockent également les données plus efficacement en mémoire et sont très utilisés pour les opérations mathématiques.

Dans ce didacticiel, nous allons convertir un tableau numpy en liste.

Utilisez la méthode tolist() pour convertir un tableau NumPy en liste

La méthode tolist() du tableau NumPy peut convertir un tableau numpy en liste.

Par exemple,

import numpy as np

oned = np.array([[1, 2, 3]])
twod = np.array([[1, 2, 3], [4, 5, 6]])

print(oned.tolist())
print(twod.tolist())

Production:

[[1, 2, 3]]
[[1, 2, 3], [4, 5, 6]]

Notez que cette méthode traite l’ensemble du tableau comme un élément. C’est pourquoi, lorsque nous l’utilisons avec un tableau 2D, il renvoie une liste de listes.

Pour éviter cela, nous pouvons utiliser la méthode tolist() avec la méthode flatten() ou ravel(), qui permet de convertir un tableau N-D en un tableau 1-D linéaire. Ces deux méthodes exécutent la même fonctionnalité. La différence est que la méthode ravel() renvoie une vue de référence du tableau et affecte le tableau d’origine, alors que la méthode flatten() fonctionne sur une copie du tableau. De ce fait, la fonction ravel() est considérée comme plus rapide et occupe moins de mémoire.

Le code suivant montre l’utilisation de ces fonctions.

import numpy as np

oned = np.array([1, 2, 3])
twod = np.array([[1, 2, 3], [4, 5, 6]])

print(oned.flatten().tolist())
print(twod.flatten().tolist())


print(oned.ravel().tolist())
print(twod.ravel().tolist())

Production:

[1, 2, 3]
[1, 2, 3, 4, 5, 6]
[1, 2, 3]
[1, 2, 3, 4, 5, 6]

Utilisez la boucle for pour convertir un tableau NumPy en liste en Python

Ceci est juste une méthode de base pour quelqu’un qui est nouveau dans la programmation ou qui souhaite personnaliser la liste finale. Nous parcourons un tableau et ajoutons chaque élément individuellement à une liste vide. Le code suivant implémente cela.

import numpy as np

arr = np.array([1, 2, 3])
lst = []

for x in arr:
    lst.append(x)

print(lst)

Production:

[1, 2, 3]
Auteur: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Article connexe - Python Array