La funzione map
Fa parte della sezione Logica e flusso del percorso Python di Coddy. Lezione 72 di 78.
La funzione map() prende due elementi principali:
- Una funzione (che contiene istruzioni su cosa fare)
- Una sequenza di elementi (come una lista o qualsiasi raccolta di elementi)
Quindi applica quella funzione a ciascun elemento della tua sequenza, uno alla volta, e ti restituisce tutti i risultati.
Per esempio:
def square(n):
return n * n
numbers = [1, 2, 3, 4, 5] # Questa è solo una lista di numeri
squared_numbers = map(square, numbers)
print(list(squared_numbers))
# Output: [1, 4, 9, 16, 25]Che cosa è successo qui:
- Abbiamo una lista di numeri: [1, 2, 3, 4, 5]
- La funzione
map()prende ogni numero, uno alla volta - Passa ogni numero alla nostra funzione
square - Raccoglie tutti i risultati nell'ordine
Puoi pensarla come una catena di montaggio:
- Entra il numero 1 → la funzione square lo trasforma in 1
- Entra il numero 2 → la funzione square lo trasforma in 4
- Entra il numero 3 → la funzione square lo trasforma in 9 E così via...
Puoi anche usare una funzione lambda invece di definire una funzione separata:
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda n: n * n, numbers)
print(list(squared_numbers))
# Output: [1, 4, 9, 16, 25]La funzione map() funziona con qualsiasi raccolta di elementi, non solo con i numeri. Possono essere stringhe o qualsiasi altro tipo di dato che vuoi elaborare nello stesso modo.
Sfida
FacileCrea una funzione chiamata convert_to_uppercase che accetta come argomento un elenco di stringhe strings. La funzione deve usare la funzione map() insieme a una funzione lambda per convertire ogni stringa dell’elenco in maiuscolo. La funzione deve restituire un elenco contenente le stringhe in maiuscolo.
Provalo tu
def convert_to_uppercase(strings):
# Usa map() con una funzione lambda per convertire le stringhe in maiuscolo
# Sostituisci la lista vuota qui sotto con quell'espressione
uppercase_strings = []
# Restituisci la lista delle stringhe in maiuscolo
return list(uppercase_strings)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