Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Fondamenti di Sorted | Funzioni di Ordine Superiore e Lambda
Concetti di Programmazione Funzionale in Python
Sezione 2. Capitolo 4
single

single

bookFondamenti di Sorted

Scorri per mostrare il menu

L'ordinamento dei dati è un'operazione comune quando si lavora con le liste in Python. La funzione sorted è una funzione built-in di ordine superiore che consente di ordinare qualsiasi iterabile e restituisce una nuova lista ordinata, lasciando i dati originali invariati. È possibile utilizzare sorted con o senza una logica di ordinamento personalizzata. Per impostazione predefinita, sorted dispone gli elementi in ordine crescente, ma è possibile controllare l'ordine e i criteri di ordinamento utilizzando i suoi parametri opzionali.

I parametri più importanti per sorted sono:

  • iterable: i dati che si desidera ordinare;
  • key: una funzione opzionale che determina il valore su cui ordinare per ciascun elemento;
  • reverse: un valore booleano che, se impostato su True, ordina i dati in ordine decrescente.

Supponiamo di avere una lista di numeri e di volerli ordinare in ordine crescente. È sufficiente chiamare sorted(numbers). Se si desidera ordinare i numeri in ordine decrescente, è possibile passare reverse=True.

12345
numbers = [9, 5, 2, 1] # Sorting in reverse order sorted_desc = sorted(numbers, reverse=True) print(sorted_desc)
copy

È inoltre possibile utilizzare il parametro key per ordinare strutture dati più complesse, come liste di tuple o dizionari, specificando una funzione che estrae il valore di confronto da ciascun elemento.

12345
words = ["apple", "kiwi", "banana"] # Sorting by the length of each string sorted_words = sorted(words, key=len) print(sorted_words)
copy

È possibile passare qualsiasi funzione al parametro key, inclusa una funzione lambda o una funzione definita precedentemente. Questo rende sorted una funzione di ordine superiore, poiché accetta un'altra funzione come argomento. L'ordinamento non è limitato a numeri o stringhe; è possibile ordinare oggetti complessi purché si fornisca una funzione key adeguata.

Note
Nota

L'iterabile originale non viene modificato da sorted, che restituisce sempre una nuova lista. Se si desidera ordinare una lista in loco, utilizzare invece il metodo list.sort().

Compito

Scorri per iniziare a programmare

Ordinare una lista di tuple in base al secondo elemento di ciascuna tupla utilizzando la funzione sorted e una funzione nominata come parametro key.

  • È fornita una lista chiamata pairs contenente tuple di due interi.
  • Definire una funzione chiamata get_second_element che prende una tupla e restituisce il suo secondo valore.
  • Utilizzare la funzione sorted e passare get_second_element come parametro key per ordinare pairs in base al secondo valore di ciascuna tupla.
  • Salvare il risultato in una variabile chiamata sorted_pairs.
  • Ricordarsi di rimuovere pass.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 4
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

some-alt