I dizionari sono utili durante la memorizzazione dei dati mappati poiché ogni chiave è associata al valore corrispondente.
Sebbene i dizionari non siano in ordine, i dizionari vengono ordinati usando Inserire l'ordine Nelle versioni recenti di Python.
Impariamo come possiamo ordinare un dizionario in base ai valori.
Python Ordinad Function
Possiamo usare il smistato() funzione per ordinare un dizionario per valore. La sintassi della funzione è mostrata nel seguente:
ordinato (iterable, key = nessuno, reverse = false)I parametri della funzione sono mostrati di seguito:
Possiamo usare la funzione ordinata per ordinare un dizionario per valore, come mostrato nell'esempio seguente:
db =Nel codice di esempio precedente, iniziamo creando il dizionario che desideriamo ordinare. Il dizionario contiene il tipo di database come chiave e il numero di record come valore.
Quindi usiamo il smistato() funzione per ordinare gli elementi nel nostro dizionario. Finalmente il db.Itmes La funzione ci consente di ottenere i valori del dizionario come un elenco iterabile.
Questo rimuove la necessità per noi di fare riferimento ai valori dalle posizioni dell'indice.
Forniamo una funzione anonima nel parametro chiave che ci consente di ordinare i valori dall'elenco.
Dato che vogliamo che i nostri dati vengano ordinati dal più grande al più piccolo, impostiamo il parametro inverso su "vero".
Ora, il codice precedente dovrebbe restituire un elenco con i valori ordinati. Per accedere agli elementi, possiamo utilizzare il seguente codice per il loop:
per io In Sorted_Values:
stampa (i [0], i [1])Qui, INDICE 0 dell'elenco rappresenta la chiave del dizionario, mentre INDICE 1 rappresenta il valore.
Il codice precedente dovrebbe restituire come mostrato di seguito:
PostgreSQL 20000Ordina la funzione con itemgetter
Il modulo dell'operatore Python ci fornisce il itemgetter () funzione e ci consente di ottenere un oggetto richiamabile che recupera un elemento dall'operando specificato.
In termini semplici, il itemgetter (N) La funzione creerà un oggetto richiamabile e prenderà l'ennesimo elemento (indice).
Per esempio:
operatore.itemgetter (3) ('Abcdefg')La funzione sopra prenderà l'elemento nel terzo indice dalla stringa fornita. La funzione funziona con qualsiasi oggetto iterabile come elenchi, tuple, dizionari, ecc.
Possiamo combinare il itemgetter () funzione per ordinare i valori in un dizionario, come mostrato nel seguente esempio:
Dall'operatore di importazioneIniziamo importando la funzione Itemgetter dal modulo operatore nel codice precedente.
Successivamente, usiamo il db.elementi() funzione per ottenere le coppie di valore chiave come elenco di tuple. Per recuperare solo i valori, utilizziamo la funzione Itemgetter e passiamo l'indice di 1 come parametro.
Ciò dovrebbe restituire i valori del dizionario.
Una volta che abbiamo ordinato l'elenco, possiamo ripetere e creare un nuovo dizionario dai valori ordinati.
Questo dovrebbe restituire un dizionario ordinato come mostrato da segue:
'SQLite': 100, 'MongoDB': 250, 'Mysql': 1000, 'Redis': 5000, 'Postgresql': 20000Si noti che l'ordine in questo è in ordine crescente.
Conclusione
Questo articolo mostra i metodi di smistamento di un dizionario per valori. Usando il smistato() funzione, è possibile impostare il parametro inverso su "false" per ordinare il dizionario in ordine crescente.