27 Gennaio 2022
Expand search form

Cosa sono le collezioni in Python?

Le collezioni in Python sono contenitori che vengono utilizzati per memorizzare collezioni di dati, per esempio, lista, dict, set, tupla ecc. Queste sono collezioni integrate. Sono stati sviluppati diversi moduli che forniscono strutture dati aggiuntive per memorizzare collezioni di dati. Uno di questi moduli è il modulo Python collections.

Python modulo delle collezioni è stato introdotto per migliorare le funzionalità dei contenitori di raccolta incorporati. Il modulo Python collections è stato introdotto per la prima volta nella sua versione 2.4. Questo tutorial è basato sulla sua ultima release stabile (versione 3.7).

Modulo delle collezioni

In questo tutorial discuteremo 6 delle strutture dati più comunemente usate dal modulo delle collezioni di Python. Sono le seguenti:

Il contatore

Counter è una sottoclasse dell’oggetto dizionario. La funzione Counter() nel modulo delle collezioni prende un iterabile o una mappatura come argomento e restituisce un dizionario. In questo dizionario, una chiave è un elemento nell’iterabile o nella mappatura e il valore è il numero di volte che quell’elemento esiste nell’iterabile o nella mappatura.

Dovete importare la classe Counter prima di poter creare un’istanza del contatore.

Creare oggetti contatore

Ci sono diversi modi per creare oggetti contatore. Il modo più semplice è quello di usare la funzione Counter() senza alcun argomento.

Potete passare un iterabile (lista) alla funzione Counter() per creare un oggetto contatore.

Infine, la funzione Counter() può prendere un dizionario come argomento. In questo dizionario, il valore di una chiave dovrebbe essere il “conteggio” di quella chiave.

Potete accedere a qualsiasi oggetto contatore con la sua chiave come mostrato qui sotto:

quando stampate cnt[1] , otterrete il conteggio di 1.

Output:

Negli esempi precedenti, cnt è un oggetto della classe Counter che è una sottoclasse di dict. Quindi ha tutti i metodi della classe dict.

Oltre a questo, Counter ha tre funzioni aggiuntive:

  1. Elementi
  2. Più_comune([n])
  3. Sottrarre([interable-or-mapping])
La funzione element()

Potete ottenere gli elementi di un oggetto Contatore con la funzione elements(). Essa restituisce una lista contenente tutti gli elementi dell’oggetto Counter.

Guardate il seguente esempio:

Risultato:

Qui, creiamo un oggetto Counter con un dizionario come argomento. In questo oggetto Counter, il conteggio di 1 è 3 e il conteggio di 2 è 4. La funzione elements() viene chiamata usando l’oggetto cnt che restituisce un iteratore che viene passato come argomento alla lista.

L’iteratore ripete 3 volte su 1 restituendo tre ‘1’, e ripete quattro volte su 2 restituendo quattro ‘2’ alla lista. Infine, la lista viene stampata utilizzando la funzione print.

La funzione most_common()

La funzione Contatore() restituisce un dizionario che non è ordinato. Potete ordinarlo secondo il numero di conteggi in ogni elemento usando la funzione most_common() dell’oggetto Counter.

Output:

Potete vedere che la funzione most_common restituisce una lista, che è ordinata in base al conteggio degli elementi. 1 ha un conteggio di tre, quindi è il primo elemento della lista.

La funzione subtract()

La funzione subtract() prende un iterabile (lista) o una mappatura (dizionario) come argomento e sottrae il conteggio degli elementi usando quell’argomento. Controlla il seguente esempio:

Output:

Potete notare che l’oggetto cnt che abbiamo creato per primo, ha un conteggio di 3 per ‘1’ e un conteggio di 4 per ‘2’. Il dizionario deduci ha il valore ‘1’ per la chiave ‘1’ e il valore ‘2’ per la chiave ‘2’. La funzione subtract() ha dedotto 1 conteggio dalla chiave ‘1’ e 2 conteggi dalla chiave ‘2’.

Il defaultdict

Il defaultdict funziona esattamente come un dizionario python, eccetto che non lancia KeyError quando si cerca di accedere ad una chiave inesistente.

Invece, inizializza la chiave con l’elemento del tipo di dati che passate come argomento alla creazione di defaultdict . Il tipo di dati è chiamato default_factory .

Importare defaultdict

Per prima cosa, dovete importare defaultdict dal modulo collections prima di usarlo:

Creare un defaultdict

Potete creare un defaultdict con il costruttore defaultdict(). Dovete specificare un tipo di dati come argomento. Controllate il seguente codice:

Output:

In questo esempio, int viene passato come default_factory . Notate che passate solo int, non int() . Successivamente, i valori sono definiti per le due chiavi, cioè ‘uno’ e ‘due’, ma nella linea successiva si cerca di accedere ad una chiave che non è stata ancora definita.

In un normale dizionario, questo forzerà un KeyError . Ma defaultdict inizializza la nuova chiave con il valore di default_factory che è 0 per int. Quindi, quando il programma viene eseguito, e 0 sarà stampato. Questa particolare caratteristica di inizializzare chiavi inesistenti può essere sfruttata in varie situazioni.

Per esempio, diciamo che volete il conteggio di ogni nome in una lista di nomi dati come “Mike, John, Mike, Anna, Mike, John, John, Mike, Mike, Britney, Smith, Anna, Smith”.

Output:

Per prima cosa, creiamo un defaultdict con int come default_factory . La lista names_list include un insieme di nomi che si ripetono più volte. La funzione split() restituisce una lista dalla stringa data. Rompe la stringa ogni volta che si incontra uno spazio bianco e restituisce le parole come elementi della lista. Nel ciclo, ogni elemento della lista viene aggiunto al defaultdict chiamato count e inizializzato a 0 in base a default_factory . Se lo stesso elemento viene incontrato di nuovo, mentre il ciclo continua, il conteggio di quell’elemento viene incrementato.

L’OrderedDict

OrderedDict è un dizionario in cui le chiavi mantengono l’ordine in cui sono state inserite, il che significa che se si cambia il valore di una chiave in seguito, non cambierà la posizione della chiave.

Importare OrderedDict

Per usare OrderedDict devi importarlo dal modulo collections.

Creare un OrderedDict

Potete creare un oggetto OrderedDict con il costruttore OrderedDict(). Nel codice seguente, si crea un OrderedDict senza alcun argomento. Dopo di che alcuni elementi vengono inseriti in esso.

Uscita:

Potete accedere ad ogni elemento usando anche un ciclo. Date un’occhiata al seguente codice:

Output:

Il seguente esempio è un interessante caso d’uso di OrderedDict con Counter. Qui, creiamo un contatore da una lista e inseriamo gli elementi in un OrderedDict in base al loro conteggio.

La lettera più frequente sarà inserita come prima chiave e la lettera meno frequente sarà inserita come ultima chiave.

Potresti anche essere interessato agli argomenti

Ci sono collezioni in Python?

Collections è un modulo incorporato in Python che implementa tipi di dati contenitori specializzati che forniscono alternative ai contenitori incorporati di uso generale di Python come dict , list , set e tuple .Jan 24, 2019

Continua…

Come funzionano le collezioni in Python?

Python – Modulo collezioniEsempio: Dichiarare una tupla con nome. >>> import collections >>> student = collections. namedtuple(‘student’, [name, age, marks])Esempio: Creare un oggetto di Named Tuple. >>> s1 = studente(“Imran”, 21, 98)Esempio: Accedere a Named Tuple. >>> s1. name ‘Imran’Esempio: Accesso Named Tuple. >>>s1[0] ‘Imran’

Continua…

Che bisogno c’è di collezioni in Python?

Collections è un modulo integrato in Python che fornisce utili tipi di dati contenitore. I tipi di dati contenitore ci permettono di memorizzare e accedere ai valori in un modo conveniente. Generalmente, avreste usato liste, tuple e dizionari. Ma, quando si tratta di dati strutturati abbiamo bisogno di oggetti più intelligenti.

Continua…

Cos’è la raccolta e il contatore in Python?

Python Counter Counter è una collezione non ordinata dove gli elementi sono memorizzati come chiavi Dict e il loro conteggio come valore dict. Il conteggio degli elementi del contatore può essere un numero intero positivo, zero o negativo. Tuttavia non c’è alcuna restrizione sulle sue chiavi e sui suoi valori.

Continua…

Cosa sono i contenitori in Python?

Il modulo di raccolta in Python fornisce diversi tipi di contenitori. Un contenitore è un oggetto che viene utilizzato per memorizzare diversi oggetti e fornire un modo per accedere agli oggetti contenuti e iterare su di essi. Alcuni dei contenitori incorporati sono Tuple, List, Dictionary, ecc.

Continua…

Qual è l’uso di enumerare in Python?

Python enumerate() è una funzione integrata in Python. La funzione enumerate() vi permette di fare un loop su un oggetto iterabile e tenere traccia di quante iterazioni si sono verificate. Enumerate è particolarmente utile se avete un array di valori che volete esaminare interamente.Oct 19, 2020

Continua…

Cos’è lo slicing in Python?

Lo slicing in Python è una caratteristica che permette di accedere a parti di sequenze come stringhe, tuple e liste. Puoi anche usarli per modificare o cancellare gli elementi di sequenze mutabili come le liste. Gli slices possono anche essere applicati su oggetti di terze parti come gli array NumPy, così come le serie Pandas e i data frame.Sep 19, 2019

Continua…

Le collezioni fanno parte della libreria standard di Python?

Python ha un sacco di grandi librerie incluse fuori dalla scatola. Uno dei quali è collezioni. Il modulo collections fornisce “tipi di dati contenitore ad alte prestazioni” che forniscono alternative ai contenitori generici dict, list, set e tuple.

Continua…

Qual è la differenza tra tupla e lista?

Una delle differenze più importanti tra lista e tupla è che la lista è mutabile, mentre una tupla è immutabile. Questo significa che le liste possono essere cambiate, mentre le tuple non possono essere cambiate. Quindi, alcune operazioni possono funzionare sulle liste, ma non sulle tuple. … Poiché le tuple sono immutabili, non possono essere copiate.8 gennaio 2021

Continua…

Cosa sono i moduli in Python?

Un modulo Python è un file che contiene definizioni e dichiarazioni Python. Un modulo può definire funzioni, classi e variabili. Un modulo può anche includere codice eseguibile. Raggruppare codice correlato in un modulo rende il codice più facile da capire e da usare. Rende anche il codice logicamente organizzato.Oct 7, 2021

Continua…

Quali sono i quattro tipi di contenitore in Python?

I contenitori principali incorporati in Python sono liste, tuple, dizionari e insiemi.

Continua…

Cos’è l’importazione di collezioni in Python?

Le collezioni in Python sono fondamentalmente tipi di dati contenitore, cioè liste, insiemi, tuple, dizionari. Hanno caratteristiche diverse in base alla dichiarazione e all’uso. Una lista è dichiarata tra parentesi quadre, è mutabile, memorizza valori duplicati e si può accedere agli elementi utilizzando gli indici.Jul 15, 2021

Continua…

Cos’è zip in Python?

La funzione zip() di Python accetta elementi iterabili e li fonde in una singola tupla. Il valore risultante è un oggetto zip che memorizza coppie di iterabili. Puoi passare liste, tuple, insiemi o dizionari attraverso la funzione zip().Oct 21, 2020

Continua…

Cosa fa range () in Python?

La range() è una funzione integrata in Python. Restituisce una sequenza di numeri a partire da zero e incrementa di 1 per impostazione predefinita e si ferma prima del numero dato. Ha tre parametri, in cui due sono opzionali: start: È un parametro opzionale utilizzato per definire il punto di partenza della sequenza.Sep 25, 2020

Continua…

Cosa sono i contenitori Python?

I contenitori sono qualsiasi oggetto che contiene un numero arbitrario di altri oggetti. In generale, i contenitori forniscono un modo per accedere agli oggetti contenuti e per iterare su di essi. Esempi di contenitori sono tuple , list , set , dict ; questi sono i contenitori incorporati.Jul 20, 2012

Continua…

Articolo precedente

Cos’è il quilting fila per fila?

Articolo successivo

Quali sono le principali risorse naturali dell’isola di Hokkaido?

You might be interested in …

Il prezzo del Blick corrisponde?

Come applicare l’offerta promozionale Blick Passo 1. Nel tuo carrello, inserisci il codice CFDZ nel campo vuoto e clicca su “Applica”. Passo 2. Il tuo risparmio verrà mostrato immediatamente nel carrello. Non può essere usato […]