Converti NumPy Array in List in Python

Manav Narula 18 luglio 2021
  1. Usa il metodo tolist() per convertire un array NumPy in una lista
  2. Usa il cicli for per convertire un array NumPy in una lista in Python
Converti NumPy Array in List in Python

Gli liste e gli array sono due degli oggetti di raccolta più fondamentali e utilizzati di frequente in Python.

Entrambi sono modificabili, utilizzati per memorizzare una raccolta di elementi con un nome comune e ogni elemento ha una posizione specifica che può essere utilizzata per accedervi.

Tuttavia, ci sono alcune differenze notevoli. Le liste sono già integrate in Python, mentre per gli array, abbiamo bisogno di importare il modulo arrays o NumPy e dobbiamo dichiarare gli array prima di usarli. Gli array inoltre archiviano i dati in modo più efficiente in memoria e sono molto utilizzati per operazioni matematiche.

In questo tutorial, convertiremo un array numpy in una lista.

Usa il metodo tolist() per convertire un array NumPy in una lista

Il metodo tolist() dell’array NumPy può convertire un array numpy in una lista.

Per esempio,

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())

Produzione:

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

Notare che questo metodo tratta l’intero array come un elemento. Questo è il motivo per cui quando lo usiamo con un array 2-D restituisce una lista di liste.

Per evitare ciò, possiamo usare tolist() con il metodo flatten() o ravel(), che può convertire un array N-D in un array 1-D lineare. Entrambi questi metodi eseguono la stessa funzionalità. La differenza è che il metodo ravel() restituisce una vista di riferimento dell’array e influenza l’array originale, mentre il metodo flatten() funziona su una copia dell’array. Per questo motivo, la funzione ravel() è considerata più veloce e occupa meno memoria.

Il codice seguente mostra l’utilizzo di queste funzioni.

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())

Produzione:

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

Usa il cicli for per convertire un array NumPy in una lista in Python

Questo è solo un metodo di base per chi è alle prime armi con la programmazione o desidera personalizzare l’lista finale. Si itera attraverso un array e si aggiunge ogni elemento individualmente a una lista vuoto. Il codice seguente implementa questo.

import numpy as np

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

for x in arr:
    lst.append(x)

print(lst)

Produzione:

[1, 2, 3]
Autore: 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

Articolo correlato - Python Array