Dizionario Python: tutto ciò che devi sapere [con esempi]
Pubblicato: 2020-04-14Se stai lavorando con Python, devi aver sentito parlare di elenchi, stringhe e tuple. Oggi parleremo di un altro elemento cruciale di Python: il dizionario. Dopo aver finito di leggere questo post, dovresti avere una conoscenza relativamente buona dei dizionari Python, come crearli e come usarli.
Sommario
Che cos'è un dizionario Python?
In Python, un dizionario è un'implementazione di una struttura dati generalmente nota come array associativo. Contiene una raccolta non organizzata di valori di dati (ad esempio una mappa). Tuttavia, a differenza di altri tipi di dati che contengono un solo valore come elemento, i valori di dati archiviati in un dizionario contengono una coppia chiave:valore. Questo aiuta a ottimizzare il dizionario. Ogni coppia chiave: valore mappa la chiave univoca associata al suo valore.
In un dizionario Python, le chiavi sono univoche, ma i valori possono essere o meno: mentre le chiavi devono essere di un tipo di dati immutabile (stringhe, numeri e tuple), i valori possono essere di qualsiasi tipo. Inoltre, in un dizionario Python, le chiavi fanno distinzione tra maiuscole e minuscole. Quindi, le chiavi con lo stesso nome, ma casi diversi, vengono trattate in modo diverso.
Ulteriori informazioni su: Tipi di dati Python
Dizionario vs Liste
In Python, dizionari ed elenchi condividono somiglianze e differenze. I tratti comuni condivisi da dizionari ed elenchi includono:
- Sono mutevoli.
- Sono dinamici.
- Possono nidificare: un elenco può contenere un altro elenco e un dizionario può contenere un altro dizionario. Inoltre, un elenco può contenere un dizionario e viceversa.
La principale differenza tra dizionari ed elenchi è che mentre è possibile accedere agli elementi dell'elenco (in base alla loro posizione nell'elenco) tramite l'indicizzazione, gli elementi del dizionario sono accessibili tramite chiavi.
Dizionario Python – Metodi
Ora discuteremo alcuni dei metodi più comunemente usati nei dizionari Python.
- copy() – Restituisce una copia superficiale di un dizionario.
- clear() – Rimuove tutti gli elementi da un dizionario.
- type() – Restituisce il tipo della variabile passata.
- pop( ) – Rimuove e restituisce un elemento da un dizionario dopo che è stata fornita la chiave.
- popitem( ) – Rimuove e restituisce un elemento arbitrario (chiave, valore). Inoltre, solleva KeyError se il dizionario è vuoto.
- get() – Viene utilizzato per accedere al valore di una chiave.
- items( ) – Restituisce una nuova visualizzazione degli elementi del dizionario (chiave, valore).
- str( ) – Genera una rappresentazione di stringa stampabile di un dizionario.
- pop(key[,d]) – Rimuove l'elemento con chiave e ne restituisce il valore, e se la chiave non viene trovata, restituisce d . Tuttavia, se d non viene fornito e la chiave non viene trovata, restituisce KeyError .
- get(key[,d]) – Restituisce il valore di chiave. Se la chiave non esiste, restituisce d (l'impostazione predefinita è None ).
- fromkeys(seq[, v]) – Restituisce un nuovo dizionario con chiavi da seq e il valore è uguale a v (predefinito su None ).
- update([other]) – Aggiorna il dizionario con le coppie chiave/valore di altri sovrascrivendo le chiavi esistenti.
Come creare un dizionario?
Puoi creare un dizionario Python racchiudendo un elenco separato da virgole di coppie chiave-valore tra parentesi graffe { }. I due punti ":" separano ogni chiave dal valore associato:
d = {
<chiave>: <valore>,
<chiave>: <valore>,
.
.
.
<chiave>: <valore>
}
Puoi anche usare la funzione integrata dict() per creare un dizionario, in questo modo:
# dizionario vuoto
mio_ditto = {}
# dizionario con chiavi intere
my_dict = {1: 'mela', 2: 'palla'}
# dizionario con chiavi miste
my_dict = {'name': 'John', 1: [2, 4, 3]}
# usando dict()
my_dict = dict({1:'mela', 2:'palla'})
# dalla sequenza che ha ogni elemento in coppia
my_dict = dict([(1,'mela'), (2,'palla')])
Come accedere agli elementi di un dizionario?
Per accedere a un elemento da un dizionario, devi fare riferimento al suo nome chiave. È possibile utilizzare il metodo get() per recuperare l'elemento oppure menzionare il nome della chiave all'interno di una parentesi quadra [ ]. Se una chiave non viene trovata nel dizionario, il metodo get() restituisce None invece di KeyError.
Ecco un esempio di codice utilizzato per accedere agli elementi di un dizionario:
#!/usr/bin/python
dict = {'Nome': 'Zara', 'Età': 7, 'Classe': 'Primo'}
print “dict['Nome']: “, dict['Nome']
print “dict['Età']: “, dict['Età']
Come aggiungere o modificare elementi in un dizionario?
Poiché i dizionari Python sono modificabili, puoi aggiungere elementi o persino modificare i valori degli elementi esistenti contenuti in un dizionario. Gli elementi possono essere aggiunti a un dizionario in molti modi. Tuttavia, puoi aggiungere un valore al dizionario alla volta definendolo insieme alla sua chiave.
Ad esempio, dict[chiave] = 'valore'. Per aggiornare un valore esistente in un dizionario, devi usare il metodo update() integrato. È necessario ricordare che durante l'aggiunta di un valore a un dizionario se il valore esiste già, il valore viene aggiornato altrimenti viene aggiunta una nuova chiave con il valore al dizionario.

my_dict = {'nome':'Jack', 'età': 26}
# aggiorna il valore
my_dict['età'] = 27
#Output: {'età': 27, 'nome': 'Jack'}
stampa(my_dict)
# Aggiungi articolo
my_dict['address'] = 'Centro'
# Output: {'indirizzo': 'Centro città', 'età': 27, 'nome': 'Jack'}
stampa(my_dict)
Come rimuovere o eliminare elementi da un dizionario?
Per rimuovere o eliminare un elemento da un dizionario, puoi utilizzare il metodo pop ( ) . Rimuoverà l'articolo particolare con il ket fornito e restituirà il valore. Puoi anche usare il metodo popitem() per eliminare e restituire un elemento arbitrario (chiave e valore) dal dizionario.
Se desideri eliminare tutti gli elementi contemporaneamente, puoi utilizzare il metodo clear() . Puoi anche utilizzare la parola chiave del per rimuovere singoli elementi o il metodo del dict ( ) per eliminare l'intero dizionario stesso.
Un esempio usando il metodo del dict():
#!/usr/bin/python
dict = {'Nome': 'Zara', 'Età': 7, 'Classe': 'Primo'}
del dict['Nome']; # rimuovi la voce con la chiave 'Nome'
dict.clear(); # rimuovi tutte le voci in dict
del ditto; # elimina l'intero dizionario
print “dict['Età']: “, dict['Età']
print “dict['Scuola']: “, dict['Scuola']
Impara anche: Stipendio per sviluppatori Python in India
Come scorrere un dizionario?
In un dizionario Python, puoi scorrere usando un ciclo for . Quando si scorre un dizionario, le chiavi del dizionario sono il valore restituito.
Un esempio di scorrere un dizionario è:
per x in questo detto:
stampa(x)
Leggi: Funzioni Python più importanti
Come verificare se una chiave è presente in un dizionario?
Puoi utilizzare la parola chiave " in " per verificare se una chiave specifica è presente nel dizionario, in questo modo:
questo decreto = {
“marchio”: “Ferrari”,
“modello”: “Daytone”,
“anno”: “1968”
}
se "modello" in questo decreto:
print("Sì, 'modello' è una delle chiavi nel dizionario thisdict")
Come determinare la lunghezza di un dizionario?
Puoi impostare la lunghezza di un dizionario, ovvero determinare quanti elementi (chiave:coppie valore) avrà, usando il metodo len() , in questo modo:
print(len(thisdict))
Come copiare un dizionario?
È possibile copiare un dizionario utilizzando il metodo copy() integrato. Tuttavia, non puoi copiare un dizionario digitando dict2 = dict1 perché dict2 sarà solo un riferimento a dict1 .
Ecco un esempio usando il metodo copy() :
questo decreto = {
“marchio”: “Ford”,
“modello”: “Mustang”,
“anno”: 1964
}
mydict = thisdict.copy()
stampa (mydict)
Dizionario Python: Comprensione
In Python, la comprensione del dizionario è un modo semplice e accurato per creare un nuovo dizionario da un iterabile. Consiste in una coppia di espressioni (chiave: valore) seguita dall'istruzione for tra parentesi graffe { }. La comprensione del dizionario può contenere più istruzioni for o if .
Ecco un esempio per creare un dizionario in cui ogni elemento è una coppia di un numero e il suo quadrato:
quadrati = {x: x*x per x nell'intervallo(6)}
# Uscita: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
stampa (quadrati)
Per saperne di più: Librerie di visualizzazione dei dati Python
Avvolgendo
Fondamentalmente è tutto: tutte le conoscenze fondamentali che devi sapere sul dizionario Python!
Se sei curioso di conoscere Python, tutto ciò che riguarda la scienza dei dati, dai un'occhiata ai corsi di certificazione sulla scienza dei dati di upGrad, creati per i professionisti che lavorano e offrono oltre 10 casi di studio e progetti, workshop pratici pratici, tutoraggio con esperti del settore, 1 su -1 con mentori del settore, oltre 400 ore di apprendimento e assistenza al lavoro con le migliori aziende.
Qual è la necessità di dizionari in Python?
Una raccolta non ordinata di valori di dati è un dizionario Python. I dizionari sono richiesti in Python per memorizzare i valori dei dati proprio come una mappa. In tutti gli altri tipi di dati, sono in grado di contenere un solo valore come elemento. Tuttavia, un dizionario è in grado di contenere la coppia chiave:valore. Questa coppia rende il funzionamento del dizionario un po' più ottimizzato.
Per creare un dizionario in Python, devi semplicemente inserire gli elementi tra parentesi graffe separandoli tutti con una "virgola". I valori nel dizionario possono essere ripetuti e duplicati, ma non è possibile ripetere le chiavi nel dizionario. Le chiavi in un dizionario fanno distinzione tra maiuscole e minuscole, quindi anche due chiavi con lo stesso nome ma casi diversi verranno trattate in modo diverso.
Cosa può essere memorizzato in un dizionario Python?
I dizionari vengono utilizzati in Python per recuperare i dati con l'aiuto di qualsiasi chiave univoca. Tutto ciò che puoi archiviare in una variabile Python può essere archiviato in un dizionario Python. Puoi persino annidare un dizionario in un altro creando elenchi. Al contrario, le chiavi devono essere immutabili.
È possibile recuperare facilmente il valore memorizzato chiamando la chiave che sta memorizzando il valore particolare. Se apporti modifiche all'elenco restituito, questo avrà effetto anche sul dizionario. È necessario comprendere che i valori memorizzati nel dizionario e l'elenco recuperato sono solo gli stessi oggetti.
In che modo Hashtable e Dictionary sono diversi?
Un Hashtable è una raccolta non generica, mentre un Dictionary è una raccolta generica di valori di dati. Puoi archiviare le coppie chiave-valore dello stesso tipo di dati e di diversi tipi di dati, mentre puoi archiviare solo le coppie chiave-valore dello stesso tipo di dati in un dizionario.
Poiché in Hashtable sono presenti boxing e unboxing, il processo di recupero dei dati è più lento rispetto a Dictionary. Non esiste un ordine mantenuto in una tabella hash, ma vedrai sempre un ordine mantenuto dei valori memorizzati in un dizionario.