Tutto sul modulo Collezioni in Python

Tutto quello che devi sapere sul modulo Collezioni in Python

Come tutti sappiamo, Python ha i suoi eroi del tipo di dati regolare – List, Tuple, Dictionary e gli infami Sets. Ma insieme a questo, la Justice League di Python ha il suo Superman – chiamato Collections. In questo articolo, andremo in profondità nel mondo delle collezioni e comprenderemo i casi d’uso e i vantaggi di esse.

Collections

Il modulo collections in Python implementa un insieme di tipi di dati di contenitori specializzati, fornendo alternative ai tipi di dati incorporati di Python come lista, tuple, set e dizionario.

Capiremo l’importanza di ogni funzionalità nel modulo collections.

namedTuple

è un modulo in collections che ci fornisce un modo semplice per creare una classe per memorizzare dati strutturati senza definire una classe completa. Invece di accedere alle tuple con gli indici, vengono convertite in una classe e possiamo accedervi in base ai nomi degli identificatori anziché agli indici.

namedTuple

Nell’esempio sopra, nella riga 2, stiamo creando un namedTuple con il nome – Employee che contiene il nome, l’id e l’età dell’Employee. Ciò creerà una variabile di classe che può essere utilizzata per memorizzare i record dell’Employee.

namedTuple — 2

Le namedTuple possono essere anche accessate utilizzando gli indici, come mostrato nella riga 3, possono essere facilmente convertite in un dizionario e supportano anche l’unpacking delle tuple.

Counter

Counter, come suggerisce il nome, viene utilizzato per contare le occorrenze degli elementi nelle collezioni – liste, tuple e stringhe. Restituisce un dizionario con una chiave come elemento e un valore come conteggio delle occorrenze di un determinato elemento.

Counter

Come mostrato nell’esempio, Counter restituisce le occorrenze di ciascun elemento particolare nella lista in formato dizionario. Il metodo most_common(k) di Counter restituisce le k occorrenze più frequenti. Possiamo anche eseguire l’addizione, sottrazione, intersezione e unione di Counters.

deque

comunemente indicato come deque, è una forma abbreviata di double-end-queue. Serve come una lista ottimizzata per eseguire l’inserimento e la cancellazione di elementi da entrambe le estremità facilmente con complessità O(1).

deque

Come mostrato sopra, gli elementi possono essere aggiunti su entrambe le estremità facilmente utilizzando i metodi append e append-left.

deque — 2

similmente alla lista, deque fornisce operazioni di reverse, rotate e i metodi pop e pop left per rimuovere elementi da entrambe le estremità.

ChainMap

viene utilizzato per combinare più dizionari in una singola visualizzazione senza copiare i dati. Come suggerisce il nome, gli mapping (dizionari) sono organizzati in una catena e possiamo accedervi e cercarli nello stesso ordine. Se una chiave esiste in entrambi i dizionari, allora il dizionario più recente nella catena viene sempre dato la priorità.

ChainMap

defaultdict

viene utilizzato quando vogliamo creare un dizionario con valori predefiniti per le chiavi mancanti. La differenza tra un dizionario e un defaultdict è che quando usiamo defaultdict e cerchiamo di accedere a una chiave mancante anziché generare un errore di chiave, restituirà il valore predefinito specificato.

con dizionario
defaultdict

Ordereddict

è un dizionario che ricorda l’ordine in cui gli elementi vengono inseriti. Quando cerchiamo di accedere a OrderedDict, restituirà gli elementi nell’ordine in cui sono stati inseriti.

OrderedDict

UserDict

UserDict è utile quando vogliamo creare un dizionario con un comportamento personalizzato. Supponiamo di voler creare un dizionario in cui i valori inseriti vengono automaticamente convertiti in maiuscolo, allora UserDict viene in tuo aiuto.

UserDict

La stessa cosa si applica a UserList e UserString.

Condivisione del notebook Colab per codice.

Buon apprendimento…..