Python OrderedDict

Python OrderedDict

Le strutture di dati sono i componenti essenziali di qualsiasi linguaggio di programmazione che memorizza e gestisce i dati in modo efficiente. Python fornisce molte strutture di dati integrate, i.e., Elenchi, tuple e dizionari, che aiutano i programmatori a creare applicazioni efficienti. I dizionari Python archiviano i dati in coppie di valore chiave. Il distretto ordinato è la sottoclasse della classe DICT e mantiene l'ordine delle chiavi in ​​cui sono stati inseriti in. Questa è l'unica e l'unica differenza tra il dict e l'ordine. Il dict non mantiene l'ordine della chiave.

L'ordedDict mantiene l'ordine dell'inserimento delle chiavi e quando ripetiamo il disagio ordinato, quindi restituisce le chiavi nello stesso ordine. D'altra parte, quando l'iterazione viene eseguita su dict, le chiavi vengono restituite in ordine casuale. Tuttavia, i dizionari sono ora ordinati in Python 3.6 e sopra versioni e restituire i valori nello stesso ordine in cui vengono inseriti. La classe OrderEdDict esiste nel modulo di collezioni. Pertanto, per utilizzare la classe OrdinedDict, in primo luogo, importa il modulo di raccolta. Questo articolo spiega in dettaglio il Python OrderedDict con esempi.

Esempi

Creiamo un distretto ordinato nel nostro script Python e aggiungiamo i dati sotto forma di chiavi e valori. Gli elementi () sono la funzione Python integrata che restituisce le informazioni sui tasti e sui valori.

#Imutare il modulo di collezioni
Collezioni di importazione
#Crea di unDict Ordine
My_dict = collezioni.OrderEdDict ()
my_dict ["a"] = 1
my_dict ["b"] = 2
my_dict ["c"] = 3
my_dict ["d"] = 4
#Declaring a per loop per iterare attraverso l'ordine
per me in my_dict.elementi():
Stampa (i)

Produzione

Nell'output, si può osservare che il distretto ordinato restituisce le chiavi e i valori allo stesso modo inseriti.

Ora creiamo un altro distretto di uno studente e archiviamo le informazioni sullo studente in esso.

#Imutare il modulo di collezioni
Collezioni di importazione
#Crea di un distretto ordinato dello studente
Std_dict = collezioni.OrderEdDict ()
std_dict ['name'] = 'John'
std_dict ['age'] = 23
std_dict ['email'] = '[email protected]
std_dict ['class'] = 'bs'
#Declaring a per loop per iterare attraverso l'ordine
Per i in std_dict.elementi():
Stampa (i)

Produzione

Modifica dei valori delle chiavi

Possiamo modificare il valore della chiave specifica di OrdinedDict. Se modifichiamo il valore di una chiave particolare, l'ordine delle chiavi rimarrà lo stesso in OrderDict. Cambiamo il valore di età nell'ordine degli studenti.

#Imutare il modulo di collezioni
Collezioni di importazione
#Crea di un distretto ordinato dello studente
Std_dict = collezioni.OrderEdDict ()
std_dict ['name'] = 'John'
std_dict ['age'] = 23
std_dict ['email'] = '[email protected]
std_dict ['class'] = 'bs'
Stampa ("L'ordine delle chiavi prima di modificare il valore di età:")
#Declaring a per loop per iterare attraverso l'ordine
Per i in std_dict.elementi():
Stampa (i)
#Cambiando il valore di età
std_dict ['age'] = 25
Stampa ("L'ordine delle chiavi dopo aver modificato il valore di età:")
Per i in std_dict.elementi():
Stampa (i)

Produzione

L'output mostra che l'ordine delle chiavi rimane lo stesso quando cambiamo il valore di una chiave particolare.

Eliminazione del valore da OrderEdDict

L'eliminazione dei valori dall'OrderDict non modifica l'ordine delle chiavi. Se eliminiamo una chiave particolare e la reinseriamo, verrà aggiunto alla fine. Vediamo un esempio. Elimineremo la chiave "età" dal dizionario degli studenti e poi ti reinseriamo.

#Imutare il modulo di collezioni
Collezioni di importazione
#Crea di un distretto ordinato dello studente
Std_dict = collezioni.OrderEdDict ()
std_dict ['name'] = 'John'
std_dict ['age'] = 23
std_dict ['email'] = '[email protected]
std_dict ['class'] = 'bs'
Stampa ("L'ordine delle chiavi prima di modificare il valore di età:")
#Declaring a per loop per iterare attraverso l'ordine
Per i in std_dict.elementi():
Stampa (i)
#delerare la chiave di età
Del std_dict ['age']
Stampa ("L'ordine delle chiavi dopo aver eliminato la chiave di età:")
Per i in std_dict.elementi():
Stampa (i)
#Reinserzione della chiave e del valore di età
std_dict ['age'] = 23
Stampa ("L'ordine delle chiavi dopo aver ripristinato la chiave di età:")
Per i in std_dict.elementi():
Stampa (i)

Produzione

Nell'output, si può vedere che quando reinseriamo una chiave, viene inserito alla fine.

Conclusione

Il distretto è la sottoclasse di dict che organizza la chiave in sequenza e conserva l'ordine mentre vengono inseriti. La classe OrderEdDict fa parte del modulo di collezioni. Questo articolo spiega OrderEdDict e la sua funzionalità con esempi.