Pitone

Python OrderedDict

Python OrderedDict

Le strutture dati sono i componenti essenziali di qualsiasi linguaggio di programmazione che memorizza e gestisce i dati in modo efficiente. Python fornisce molte strutture dati integrate, ad esempio.e., liste, tuple e dizionari, che aiutano i programmatori a creare applicazioni efficienti. I dizionari Python memorizzano i dati in coppie chiave-valore. L'OrderedDict è la sottoclasse della classe dict e mantiene l'ordine delle chiavi in ​​cui sono state inserite in. Questa è l'unica e l'unica differenza tra dict e OrderDict. Il dict non mantiene l'ordine della chiave.

OrderedDict mantiene l'ordine di inserimento delle chiavi e, quando iteriamo attraverso OrderedDict, 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 ora sono ordinati in Python 3.6 e versioni successive e restituiscono i valori nello stesso ordine in cui sono inseriti. La classe OrderedDict esiste nel modulo delle collezioni. Pertanto, per utilizzare la classe OrderedDict, per prima cosa importare il modulo delle collezioni. Questo articolo spiega in dettaglio Python OrderedDict con esempi.

Esempi

Creiamo un OrderedDict nel nostro script Python e aggiungiamo i dati sotto forma di chiavi e valori. Item() è la funzione Python incorporata che restituisce le informazioni su chiavi e valori.

#importando il modulo collezioni
importare collezioni
#creazione di un OrderedDict
my_dict = collezioni.OrdinatoDict()
my_dict["A"]=1
my_dict["B"]=2
my_dict["C"]=3
my_dict["D"]=4
#dichiarare un ciclo for per scorrere l'OrderDict
per io in my_dict.elementi():
stampa(i)

Produzione

Nell'output, si può osservare che OrderedDict restituisce le chiavi e i valori nello stesso modo in cui sono stati inseriti.

Ora creiamo un altro OrderDict di uno studente e memorizziamo le informazioni sullo studente in esso.

#importando il modulo collezioni
importare collezioni
#creazione di un OrdinatoDitto dello studente
std_dict = collezioni.OrdinatoDict()
std_dict['name']='John'
std_dict['età']=23
std_dict['email']='[email protetta]'
std_dict['class']='BS'
#dichiarare un ciclo for per scorrere l'OrderDict
per io in std_dict.elementi():
stampa(i)

Produzione

Modifica dei valori delle chiavi

Possiamo cambiare il valore della chiave specifica di OrderedDict. Se cambiamo il valore di una chiave particolare, l'ordine delle chiavi rimarrà lo stesso in OrderDict. Cambiamo il valore dell'età nello studente OrderDict.

#importando il modulo collezioni
importare collezioni
#creazione di un OrdinatoDitto dello studente
std_dict = collezioni.OrdinatoDict()
std_dict['name']='John'
std_dict['età']=23
std_dict['email']='[email protetta]'
std_dict['class']='BS'
print("L'ordine delle chiavi prima di modificare il valore dell'età:")
#dichiarare un ciclo for per scorrere l'OrderDict
per io in std_dict.elementi():
stampa(i)
#cambiare il valore dell'età
std_dict['età']=25
print("L'ordine delle chiavi dopo aver modificato il valore dell'età:")
per io in std_dict.elementi():
stampa(i)

Produzione

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

Eliminazione del valore da OrderedDict

L'eliminazione dei valori da OrderDict non modifica l'ordine delle chiavi. Se eliminiamo una chiave particolare e la reinseriamo, verrà aggiunta alla fine. Vediamone un esempio. Cancelleremo la chiave "età" dal dizionario dello studente e poi la reinseriremo.

#importando il modulo collezioni
importare collezioni
#creazione di un OrdinatoDitto dello studente
std_dict = collezioni.OrdinatoDict()
std_dict['name']='John'
std_dict['età']=23
std_dict['email']='[email protetta]'
std_dict['class']='BS'
print("L'ordine delle chiavi prima di modificare il valore dell'età:")
#dichiarare un ciclo for per scorrere l'OrderDict
per io in std_dict.elementi():
stampa(i)
#eliminare la chiave dell'età
del std_dict['età']
print("L'ordine delle chiavi dopo l'eliminazione della chiave di età:")
per io in std_dict.elementi():
stampa(i)
#reinserire la chiave e il valore dell'età
std_dict['età']=23
print("L'ordine delle chiavi dopo aver reinserito la chiave di età:")
per io in std_dict.elementi():
stampa(i)

Produzione

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

Conclusione

OrderedDict è la sottoclasse di dict che dispone le chiavi in ​​sequenza e conserva l'ordine man mano che vengono inserite. La classe OrderedDict fa parte del modulo delle collezioni. Questo articolo spiega OrderedDict e le sue funzionalità con esempi.

Come utilizzare AutoKey per automatizzare i giochi Linux
AutoKey è un'utilità di automazione desktop per Linux e X11, programmata in Python 3, GTK e Qt. Utilizzando la sua funzionalità di scripting e MACRO, ...
Come mostrare il contatore FPS nei giochi Linux
I giochi Linux hanno avuto una grande spinta quando Valve ha annunciato il supporto Linux per il client Steam e i loro giochi nel 2012. Da allora, mol...
Come scaricare e giocare a Sid Meier's Civilization VI su Linux
Introduzione al gioco Civilization 6 è una versione moderna del concetto classico introdotto nella serie dei giochi Age of Empires. L'idea era abbasta...