Ordinare i dati in modo efficiente
Fa parte della sezione Logica e flusso del percorso Python di Coddy. Lezione 48 di 78.
L'ordinamento è un'operazione fondamentale nell'informatica e Python offre potenti strumenti integrati per ordinare i dati in modo efficiente. La funzione principale per l'ordinamento è sorted(), che può essere utilizzata per ordinare diversi tipi di dati, inclusi numeri, stringhe e oggetti più complessi.
Ordinamento di base:
La funzione sorted() accetta un iterabile (ad es. una lista, una tupla o un insieme) come argomento e restituisce una nuova lista contenente gli elementi ordinati. Per impostazione predefinita, ordina in ordine crescente.
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers = sorted(numbers)
print(sorted_numbers)
# Output: [1, 1, 2, 3, 4, 5, 6, 9]In questo esempio, sorted() ordina la lista numbers in ordine crescente.
Ordinamento inverso:
Per ordinare in ordine decrescente, puoi usare il parametro reverse e impostarlo su True.
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers_desc = sorted(numbers, reverse=True)
print(sorted_numbers_desc)
# Output: [9, 6, 5, 4, 3, 2, 1, 1]Qui, sorted() ordina l’elenco numbers in ordine decrescente.
Ordinare le stringhe:
La funzione sorted() può anche ordinare le stringhe in base al loro ordine lessicografico (cioè l’ordine in cui comparirebbero in un dizionario).
words = ["apple", "banana", "cherry"]
sorted_words = sorted(words)
print(sorted_words)
# Output: ['apple', 'banana', 'cherry']In questo esempio, sorted() ordina l’elenco words in ordine alfabetico.
Ordinamento personalizzato con funzione chiave:
Per esigenze di ordinamento più complesse, puoi usare il parametro key per specificare una funzione che determina l'ordine di ordinamento. La funzione key viene applicata a ciascun elemento prima dell'ordinamento e i valori restituiti vengono usati per il confronto.
words = ["banana", "kiwi", "fig"]
sorted_words_by_length = sorted(words, key=len)
print(sorted_words_by_length)
# Output: ['fig', 'kiwi', 'banana']In questo caso, sorted() ordina la lista words in base alla lunghezza di ogni parola, usando la funzione len() come key.
Sfida
FacileScrivi un programma che esegua le seguenti operazioni di ordinamento utilizzando la funzione sorted():
- Ordina un elenco di numeri in ordine crescente.
- Ordina lo stesso elenco di numeri in ordine decrescente.
- Ordina un elenco di stringhe in ordine alfabetico.
- Ordina lo stesso elenco di stringhe in base alla loro lunghezza.
Provalo tu
# Dati iniziali
numbers = [5, 3, 8, 1, 2]
words = ["elephant", "cat", "dolphin", "bee"]
# Attività 1: ordina i numeri in ordine crescente
# Attività 2: ordina i numeri in ordine decrescente
# Attività 3: ordina le parole alfabeticamente
# Attività 4: ordina le parole per lunghezza
# Sostituisci 'None' con il tuo codice per ogni attività
ascending_numbers = None
descending_numbers = None
alphabetical_words = None
length_sorted_words = None
# Stampa i risultati
print("Ascending:", ascending_numbers)
print("Descending:", descending_numbers)
print("Alphabetical:", alphabetical_words)
print("By Length:", length_sorted_words)Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Esplorazione delle variabili
CostantiAssegnazioni multiple di variabiliScambio di variabiliVariabili segnapostoArrotondare i numeriConversione di liste4Applicazione Rubrica
Visualizzare il menuAggiungere un contatto7Insiemi Parte 2
Operazioni matematiche Parte 1Operazioni matematiche Parte 2Riepilogo - Caccia al tesoroSottoinsiemi e sovrainsiemiIterare sugli insiemiRiepilogo - Tracciamento del torneo10Comprensioni di liste di base
La sintassiCreare liste sempliciAggiungere condizioniUsare l'aggregazione dei datiRipasso - La casa delle listeRipasso - Elementi di libertà13Sistema di gestione dell'inventario
Panoramica del progettoAggiungi articolo2Dizionari Parte 1
Che cos'è un dizionario?Creare un dizionarioAccedere ai valoriModificare i dizionariRipasso - Gestore di ricette5Decisioni avanzate
Operatore ternarioVerifiche di appartenenzaVerifiche di identitàErrori di indentazioneRiepilogo - Filtro vacanze8Gestore delle carriere degli studenti
Panoramica del progettoAggiungi studente11Funzioni avanzate
Restituire più valoriFunzioni lambda - Parte 1Funzioni lambda - Parte 2Sfida di ripasso - Ordinamento con lambdaFunzioni ricorsive - Parte 1Funzioni ricorsive - Parte 2Ripasso - Somma di una lista annidata14Funzioni di ordine superiore
La funzione mapLa funzione filterRipasso - Validatore di emailRipasso - Elaboratore di numeri3Dizionari Parte 2
Metodi dei dizionariDizionari annidatiVerificare la presenza di chiaviIterare sui dizionariRipasso - Contatore di frequenza6Insiemi Parte 1
Che cos'è un insieme?Operazioni di baseMetodi degli insiemiRiepilogo - Rimuovere i duplicati9Aggregazione avanzata dei dati
Usare la sommaTrovare il minimo e il massimoOrdinare i dati in modo efficienteRipasso - Ordinatore di dizionari12Gestione di base degli errori
Che cos'è la gestione degli errori?Il blocco try ed exceptGestire più eccezioniRiepilogo - Errori nel carrelloEsercitati da solo: Compilatore Python online