Qualche giorno fa, stavo lavorando a un progetto Python e dovevo fare uso di liste. Ho creato una lista vuota e l’ho chiamatacost_array
. Un amico l’ha visto e mi ha fatto la domanda:
“Qual è la differenza tra una lista e un array?”
Ho cominciato a riflettere perché prima d’ora ho sempre considerato i dati di tipo come liste in Python e array in Javascript. Apparentemente, un Array è un tipo di dati anche in Python, il che significa che abbiamo il tipo
array
e il tipo list
(il tipo lista è più popolare). La maggior parte delle persone usano gli array quando si avventurano nella scienza dei dati e fanno uso di librerie come numpy
. Gli array sono il vero cavallo di battaglia delle strutture dati per applicazioni scientifiche e ingegneristiche. Il tipo più popolare di array usato in Python è l’array numpy
.
- Entrambi sono usati per memorizzare dati
- Entrambi sono mutabili
- Entrambi possono essere indicizzati e iterati
- Entrambi possono essere affettati
Differenze
La differenza principale tra questi due tipi di dati è l’operazione che puoi eseguire su di essi. Gli array sono appositamente ottimizzati per i calcoli aritmetici, quindi se avete intenzione di eseguire operazioni simili dovreste considerare di usare un array invece di una lista.
Anche le liste sono contenitori di elementi che hanno diversi tipi di dati, mentre gli array sono usati come contenitori di elementi dello stesso tipo di dati.
L’esempio sotto è il risultato della divisione di un array per un certo numero e fare lo stesso per una lista. Quando proviamo la stessa operazione (esempio: divisione) su una lista, otteniamo un TypeError perché le liste costruite in python non supportano il protocollo `__div__`. Ci vuole un passo in più per eseguire questo calcolo su una lista perché poi si dovrebbe fare un loop su ogni elemento uno dopo l’altro e salvare in un’altra lista.
Stress!!