python sort lambda

I dizionari sono strutture di dati non ordinate. Usano una struttura di mappatura per memorizzare i dati. I dizionari mappano le chiavi ai valori, creando coppie che contengono dati correlati.

Utilizzando il metodo Python sorted(), puoi ordinare il contenuto di un dizionario per valore. Ad esempio, per classificare la popolarità degli elementi in un menu del caffè, puoi utilizzare il metodo sorted() di Python. Questo tutorial discuterà come funziona il metodo sorted() e come puoi usarlo per ordinare i contenuti di un dizionario.

Rinfresco Python sorted()

La funzione sorted() integrata di Python può essere utilizzata per ordinare oggetti iterabili, come elenchi, tuple e dizionari. La funzione sorted() ordina gli elementi dell’oggetto iterabile specificato e crea un nuovo oggetto con i nuovi valori ordinati.

Ecco la sintassi per il metodo sorted():

Il metodo prende in tre parametri:

  • oggetto: l’oggetto iterabile che si desidera ordinare (richiesto)
  • chiave: la funzione che permette di eseguire operazioni di ordinamento personalizzate (opzionale)
  • reverse: specifica se l’oggetto deve essere ordinato in ordine decrescente (opzionale)

Come puoi vedere, object è l’unico parametro richiesto. Se decidi di non utilizzare i parametri opzionali key e reverse, Python ordinerà automaticamente l’oggetto in ordine crescente.

Nota: Python.Engineering ha scritto un guida completa sui metodi sort() e sorted() in Python. Se stai cercando di saperne di più su questo metodo e sul parametro key, dai un’occhiata al nostro tutorial su Python sort().

Facciamo un rapido esempio per illustrare come funziona il metodo sorted().

L’81% dei partecipanti ha dichiarato di sentirsi più sicuro della propria tecnologia prospettive di lavoro dopo aver frequentato un bootcamp. Fatti abbinare a un bootcamp oggi.

Il laureato medio di un bootcamp ha trascorso meno di sei mesi nella transizione di carriera, dall’avvio di un bootcamp alla ricerca del primo lavoro.

Di che stiamo gestendo un coffee shop e vogliamo recuperare un elenco alfabetico dei nostri clienti Coffee Club (fedeltà). Abbiamo già un elenco di clienti, ma è ordinato in base alla data di registrazione. Potremmo usare il seguente codice per ordinare la nostra lista:

Il nostro codice ordina l’array customers e restituisce quanto segue :

Nella prima riga del nostro codice, dichiariamo un elenco che memorizza i nostri clienti‚Äô nomi; questa lista si chiama: clienti. Quindi, usiamo il metodo sorted() per ordinare l’elenco dei nomi dei clienti in ordine crescente; questo nuovo elenco si chiama: sorted_customers. Infine, stampiamo l’elenco appena ordinato sulla console utilizzando la funzione print().

Ordina un dizionario per valore

Supponiamo che tu abbia un dizionario e desideri ordinarlo per coppie chiave-valore. Puoi farlo utilizzando due funzioni insieme: items() e sorted().

La funzione items() ti permette di recuperare gli elementi in un dizionario. Possiamo usare questa funzione in combinazione con la funzione sorted() e un parametro key personalizzato per ordinare un dizionario in base al valore. Considera i due seguenti esempi.

Esempio 1: Ordina in ordine decrescente

Torniamo al bar. Supponiamo di avere un dizionario che memorizzi gli elementi del nostro menu del caffè e quanti di ogni articolo sono stati ordinati nell’ultimo mese. Vogliamo vedere qual è stato il caffè più popolare il mese scorso, quindi decidiamo di ordinare il dizionario degli ordini in ordine decrescente dei valori.

Ecco un programma che potremmo usare per ordinare il contenuto del nostro dizionario per valore:

Il nostro codice restituisce quanto segue:

Ci sono molte cose nel nostro codice , quindi analizziamolo.

All’inizio del nostro codice, definiamo un dizionario chiamato ordini che memorizza i nomi dei caffè come chiavi e il numero venduto come valori.

Quindi, usiamo il metodo sorted() per ordinare gli ordini dizionario per valore. Ecco una ripartizione di come abbiamo utilizzato il metodo sorted():

ParametroTestoDescrizione
oggettoorders.items() Si riferisce a tutti i valori nei nostri "ordini" dizionario. Se dovessimo utilizzare solo "ordini", dovremmo fare riferimento alla posizione dell’indice dell’articolo per ottenere il suo valore individuale. Considerando che se usiamo order.items(), viene creato un elenco iterabile con gli elementi in un elenco.
chiavekey=lambda x: x[1]Un meccanismo di ordinamento che ci permette di ordinare il nostro dizionario per valore. Questo è un esempio di una funzione Lambda, che è una funzione senza nome.
reversereverse=TrueAfferma che vogliamo che i nostri dati siano ordinati in ordine decrescente.

Infine, creiamo un ciclo for che scorre ogni elemento creato nel nostro metodo sort_order e stampa sia il nome della chiave che il valore, ordinati nell’ordine specificato nella funzione sort_order.

Esempio 2: Ordina in ordine crescente

Analogamente, se volessimo scoprire la bevanda meno popolare venduta nella nostra caffetteria, potremmo usare lo stesso codice come sopra ma senza il parametro reverse=True. Ecco un esempio del codice per questo:

Quando eseguiamo il nostro codice, vengono restituiti i seguenti valori:

Come te può vedere, il nostro codice ha restituito un elenco di elementi disposti in ordine crescente, in base al numero di ciascuno elemento ordinato nell’ultimo mese.

Comprensione delle liste

Inoltre, possiamo usare la comprensione delle liste per ordinare i contenuti del dizionario in base al valore. La comprensione delle liste è una tecnica concisa per creare liste in Python e può risparmiare spazio se stai creando metodi di ordinamento più complessi.

Ecco il codice che useremmo per ordinare i nostri ordini di caffè in ordine crescente in base al numero di ogni caffè che è stato ordinato utilizzando la comprensione delle liste:

"Il Karma di carriera è entrato nella mia vita quando ne avevo più bisogno e mi ha aiutato rapidamente ad abbinarmi a un bootcamp. Due mesi dopo la laurea, ho trovato il lavoro dei miei sogni in linea con i miei valori e obiettivi nella vita!"

Venus, Software Engineer presso Rockbot

Quando eseguiamo il nostro codice, viene restituita la seguente risposta :

Il risultato del nostro codice è stato lo stesso dell’esempio precedente in cui abbiamo ordinato il contenuto dell’elenco ordini in ordine crescente. Ma invece di definire una variabile sort_orders e creare un ciclo separato for per scorrere l’elenco ordinato, abbiamo creato un elenco utilizzando la tecnica di comprensione dell’elenco.

La comprensione dell’elenco che abbiamo creato sopra ordina ogni elemento nel nostro elenco in ordine crescente, quindi stampa la chiave e il valore di ogni elemento del dizionario sulla console.

Conclusione

Quando lavori con i dizionari in Python, ordinare un dizionario per valore è un’operazione comune. Il sorted() ti permette di ordinare un insieme di dati in base alle tue esigenze.

Questo tutorial ha discusso, fornendo esempi, come usare il metodo sorted() per ordinare un dizionario per valore in Python, incluso come utilizzare i parametri key e reverse.

Ora sei pronto per iniziare a ordinare i dizionari per valore come un professionista di Python !