Elenco vs tupla: differenza tra elenco e tupla

Pubblicato: 2021-01-08

In Python, list e tuple sono una classe di struttura dati che può memorizzare uno o più oggetti o valori. Un elenco viene utilizzato per memorizzare più elementi in una variabile e può essere creato utilizzando parentesi quadre. Allo stesso modo, le tuple possono anche memorizzare più elementi in una singola variabile e possono essere dichiarate usando le parentesi.

Sebbene ci siano molte differenze tra lista e tupla, ci sono anche alcune somiglianze, come segue:

  • Le due strutture dati sono entrambi tipi di dati di sequenza che archiviano raccolte di elementi.
  • Al loro interno possono essere archiviati elementi di qualsiasi tipo di dati.
  • Gli elementi sono accessibili dal loro indice.

Sommario

Lista vs Tupla

La tabella seguente include la differenza di base tra list e tuple in Python.

Elenco Tupla
È mutevole È immutabile
L'implicazione delle iterazioni richiede molto tempo nell'elenco. Le implicazioni delle iterazioni sono molto più veloci nelle tuple.
Operazioni come l'inserimento e l'eliminazione vengono eseguite meglio. È possibile accedere meglio agli elementi.
Consuma più memoria. Consuma meno memoria.
Sono disponibili molti metodi integrati. Non ha molti metodi integrati.
Errori e modifiche imprevisti possono verificarsi facilmente negli elenchi.

Errori e modifiche imprevisti si verificano raramente nelle tuple.

Le sezioni seguenti forniscono una versione dettagliata di list vs tuple per una migliore comprensione.

Differenza di sintassi

Come accennato nell'introduzione, la sintassi per list e tuple è diversa. Per esempio:

lista_num = [10, 20, 30, 40]

tup_num = (10, 20, 30, 40)

Mutabilità

Una delle differenze più importanti tra lista e tupla è che la lista è mutabile, mentre una tupla è immutabile. Ciò significa che le liste possono essere modificate e le tuple non possono essere modificate.

Quindi, alcune operazioni possono funzionare sugli elenchi, ma non sulle tuple. Ad esempio, nella scienza dei dati, se esiste già un elenco, è possibile riassegnarne determinati elementi. Insieme a questo, l'intero elenco può essere riassegnato. Gli elementi e le porzioni di elementi possono essere eliminati dall'elenco.

D'altra parte, elementi particolari sulla tupla non possono essere riassegnati o cancellati, ma è possibile tagliarla e persino riassegnare ed eliminare l'intera tupla. Poiché le tuple sono immutabili, non possono essere copiate.

Dai un'occhiata: Python vs Java

Operazioni

Sebbene ci siano molte operazioni simili sia alle liste che alle tuple, le liste hanno funzionalità aggiuntive che non sono disponibili con le tuple. Queste sono le operazioni di inserimento e pop e l'ordinamento e la rimozione di elementi nell'elenco.

Funzioni

Alcune delle funzioni Python possono essere applicate a entrambe le strutture dati, come len, max, min, any, sum, all e sorted.

Dimensione

In Python, alle tuple vengono allocati grandi blocchi di memoria con un sovraccarico inferiore, poiché sono immutabili; mentre per le liste vengono allocati piccoli blocchi di memoria. Tra i due, le tuple hanno una memoria più piccola. Questo aiuta a creare tuple più veloci delle liste quando c'è un gran numero di elementi.

Tipo di elementi

Gli elementi appartenenti a tipi di dati diversi, cioè elementi eterogenei, sono generalmente memorizzati in tuple. Mentre gli elementi omogenei, elementi degli stessi tipi di dati, sono generalmente archiviati in elenchi. Ma questa non è una restrizione per le strutture dati. Elementi di tipi di dati simili possono essere archiviati in tuple e anche elementi di tipi di dati diversi possono essere archiviati in elenchi.

Lunghezza

Le lunghezze differiscono nelle due strutture dati. Le tuple hanno una lunghezza fissa, mentre le liste hanno lunghezze variabili. Pertanto, la dimensione delle liste create può essere modificata, ma non è il caso delle tuple.

Debug

Quando si tratta di debug, nelle liste rispetto alle tuple, è più facile eseguire il debug delle tuple per progetti di grandi dimensioni grazie alla loro immutabilità. Quindi, se c'è un progetto più piccolo o una quantità minore di dati, è meglio usare gli elenchi. Questo perché le liste possono essere modificate, mentre le tuple no, rendendo le tuple più facili da tracciare.

Liste nidificate e tuple

Le tuple possono essere archiviate in elenchi e, allo stesso modo, gli elenchi possono essere archiviati all'interno di tuple. Nelle tuple nidificate, una tupla può contenere più tuple. E negli elenchi nidificati, un elenco può contenere più elenchi.

Usi

È importante capire che ci sono diversi casi in cui è meglio utilizzare una di queste strutture di dati, come; l'utilizzo di uno dei due dipende dal programmatore, ovvero la scelta di uno in base al fatto che desideri modificare i dati in un secondo momento o meno.

Le tuple possono essere utilizzate come equivalenti a un dizionario senza chiavi per memorizzare i dati. Quando le tuple sono archiviate all'interno di elenchi, è più facile leggere i dati.

Leggi: Altri tipi di strutture dati in Python

Conclusione

Questo articolo aiuta a comprendere le differenze tra elenchi e tuple. Anche se entrambi i tipi sono strutture dati in Python, è importante avere familiarità con queste differenze quando si effettua una scelta. Le differenze più importanti da tenere a mente sono che le liste sono modificabili e le tuple no, le liste hanno dimensioni variabili e le tuple hanno dimensioni fisse. Infine, le operazioni nelle tuple possono essere eseguite più velocemente.

Se stai leggendo questo articolo, molto probabilmente hai l'ambizione di diventare uno sviluppatore Python. Se sei interessato a imparare Python e vuoi sporcarti le mani su vari strumenti e librerie, dai un'occhiata al programma Executive PG di IIIT-B e upGrad in Data Science.

Quando è preferibile un elenco Python per l'archiviazione dei dati?

L'elenco Python è considerato la migliore struttura di dati per archiviare i dati nei seguenti scenari: Un elenco può essere utilizzato per memorizzare vari valori con diversi tipi di dati ed è accessibile solo dai rispettivi indici. Quando è necessario eseguire operazioni matematiche sugli elementi, è possibile utilizzare un elenco poiché consente di operare direttamente sugli elementi matematicamente. Poiché un elenco può essere ridimensionato, può essere utilizzato per memorizzare i dati quando non si è certi del numero di elementi da memorizzare.

Indica le varie operazioni di namedtuple.

La namedtuple in Python esegue varie operazioni. Di seguito è riportato un elenco di alcune delle operazioni più comuni eseguite da namedtuple: accesso tramite indice, accesso tramite nome chiave, make(), _asadict(), utilizzando l'operatore "**" (doppia stella), _fileds(), _replace (), eccetera.

Quali sono i diversi modi per creare un elenco?

Un elenco Python può essere creato in diversi modi menzionati qui. Utilizzo dei cicli for - Un ciclo for è il modo più elementare per creare un elenco. Un elenco può essere creato utilizzando un ciclo for in tre semplici modi: creare un elenco vuoto, scorrere tutti gli elementi che devono essere inseriti, aggiungere ogni elemento nell'elenco utilizzando la funzione append(). Usando map(): la funzione map() in Python può essere usata in alternativa per creare una lista. Questa funzione accetta due parametri: Funzione: la funzione a cui la mappa passa ogni iterabile e Iterable: l'elemento o l'iterabile da mappare. Utilizzo della comprensione dell'elenco: questo metodo è il più ottimizzato di tutti e tre i metodi. Mentre nei metodi precedenti è necessario creare prima un elenco vuoto, la comprensione degli elenchi consente di inserire tutti gli elementi in un elenco utilizzando una singola riga.