logo

Come ordinare un dizionario in Python

Il dizionario Python è la raccolta di dati archiviati nel formato chiave-valore. Ad ogni chiave è associato il suo valore. È di natura mutevole, il che significa che possiamo modificare i dati dopo la sua creazione.

È la raccolta non ordinata dei dati e consente di memorizzare valori duplicati, ma la chiave deve essere univoca.

data Java da stringere

Il dizionario viene dichiarato utilizzando le parentesi graffe {} e la coppia chiave-valore è separata da una virgola.

 dict1 = {'name': 'Devansh', 'age': 22, 'Rollno':90014} print(dict1) 

Produzione:

Perché è necessario ordinare il dizionario

  • La complessità del tempo di ricerca dell'elenco è O(n) e il dizionario ha una complessità del tempo di ricerca 0(1), il che fa sì che il dizionario sia più veloce dell'elenco. Il dizionario può essere utilizzato per l'elenco ogni volta che è necessario.
  • L'ordinamento ci consente di analizzare i dati in modo efficiente quando lavoriamo con la struttura dei dati.
  • Un dizionario ordinato fornisce una migliore comprensione per gestire le operazioni complesse.

Comprendiamo i vari modi per ordinare il dizionario.

  • Ordinamento per chiavi
  • Ordinamento per valori
  • Algoritmo di ordinamento
  • Invertire l'ordine ordinato

Ordinamento per chiavi e valori

Pitone offre le funzioni di chiavi integrate chiavi() e valori() per ordinare il dizionario. Prende qualsiasi elemento iterabile come argomento e restituisce l'elenco ordinato di chiavi. Possiamo usare i tasti per ordinare il dizionario in ordine crescente. Comprendiamo il seguente esempio.

Esempio -

 names = {1:'Alice' ,2:'John' ,4:'Peter' ,3:'Andrew' ,6:'Ruffalo' ,5:'Chris' } #print a sorted list of the keys print(sorted(names.keys())) #print the sorted list with items. print(sorted(names.items())) 

Produzione:

 [1, 2, 3, 4, 5, 6] [(1, 'Alice'), (2, 'John'), (3, 'Andrew'), (4, 'Peter'), (5, 'Chris'), (6, 'Ruffalo')] 

Spiegazione -

Nel codice precedente abbiamo dichiarato un dizionario nomi . Abbiamo utilizzato la funzione integrata insieme a smistato() funzione che restituiva l'elenco delle chiavi ordinate. Successivamente, abbiamo utilizzato il file elementi() funzione per ottenere il dizionario in ordine ordinato.

Algoritmo di ordinamento

Esistono vari algoritmi di ordinamento per ordinare un dizionario; possiamo usare altri argomenti nel metodo ordinato. Comprendiamo il seguente esempio.

Esempio -

 daynames = { 'one' : 'Monday' , 'six' : 'Saturday' ,'three' : 'Wednesday' , 'two' : 'Tuesday' , 'five': 'Friday' , 'seven': 'Sunday' } print(daynames) number = { 'one' : 1 , 'two' : 2 , 'three' : 3 , 'four' : 4 , 'five' : 5 , 'six' : 6 , 'seven' : 7} print(sorted(daynames , key=number.__getitem__)) print([daynames[i] for i in sorted(daynames , key=number.__getitem__)]) 

Produzione:

 {'one': 'Monday', 'six': 'Saturday', 'three': 'Wednesday', 'two': 'Tuesday', 'five': 'Friday', 'seven': 'Sunday'} ['one', 'two', 'three', 'five', 'six', 'seven'] ['Monday', 'Tuesday', 'Wednesday', 'Friday', 'Saturday', 'Sunday'] 

Invertire l'ordine ordinato

Il dizionario può essere invertito utilizzando il comando inversione discussione. Comprendiamo il seguente esempio.

Esempio -

 a = {'a':2 ,'b':1 ,'c':3 ,'d':4 ,'e':5 ,'f':6 } print(sorted(a.values() , reverse= True)) 

Produzione:

 [6, 5, 4, 3, 2, 1] 

In questo tutorial, abbiamo discusso come ordinare il dizionario in Python. Un dizionario ordinato è facile da gestire con una grande quantità di dati e fornisce risultati di ricerca rapidi.