La funzione map () applica una data funzione a ogni elemento di un iterabile (lista, tupla ecc.) E restituisce un elenco dei risultati.
La sintassi di map()
è:
mappa (funzione, iterabile, …)
Parametro map ()
- funzione :
map()
passa ogni elemento dell'iterabile a questa funzione. - iterabile - iterabile che deve essere mappato
È possibile passare più di un iterabile alla map()
funzione.
Valore restituito dalla mappa ()
La map()
funzione applica un dato a funzione a ogni elemento di un iterabile e restituisce un elenco dei risultati.
Il valore restituito da map()
(map object) può quindi essere passato a funzioni come list () (per creare un elenco), set () (per creare un set) e così via.
Esempio 1: utilizzo di map ()
def calculateSquare(n): return n*n numbers = (1, 2, 3, 4) result = map(calculateSquare, numbers) print(result) # converting map object to set numbersSquare = set(result) print(numbersSquare)
Produzione
(16, 1, 4, 9)
Nell'esempio precedente, ogni elemento della tupla è al quadrato.
Poiché si map()
aspetta che una funzione venga passata, le funzioni lambda vengono comunemente utilizzate mentre si lavora con le map()
funzioni.
Una funzione lambda è una funzione breve senza nome. Visita questa pagina per saperne di più sulla funzione lambda di Python.
Esempio 2: come utilizzare la funzione lambda con map ()?
numbers = (1, 2, 3, 4) result = map(lambda x: x*x, numbers) print(result) # converting map object to set numbersSquare = set(result) print(numbersSquare)
Produzione
(16, 1, 4, 9)
Non c'è differenza nelle funzionalità di questo esempio e dell'Esempio 1 .
Esempio 3: passaggio di più iteratori a map () utilizzando Lambda
In questo esempio, vengono aggiunti gli elementi corrispondenti di due elenchi.
num1 = (4, 5, 6) num2 = (5, 6, 7) result = map(lambda n1, n2: n1+n2, num1, num2) print(list(result))
Produzione
(9, 11, 13)