Python funzione map() con ESEMPI
Python map() applica una funzione su tutti gli elementi di un iteratore fornito come input. Un iteratore, ad esempio, puรฒ essere una lista, una tupla, un insieme, un dizionario, una stringa e restituisce un oggetto mappa iterabile. Python map() รจ una funzione integrata.
Sintassi
map(function, iterator1,iterator2 ...iteratorN)
Scheda Sintetica
Eccone due importanti
- funzione: una funzione obbligatoria da dare alla mappa, che verrร applicata a tutti gli elementi disponibili nell'iteratore.
- iteratore: un oggetto obbligatorio iterabile. Puรฒ essere una lista, una tupla, ecc. Puoi passare piรน oggetti iteratori alla funzione map().
Valore di ritorno
La funzione map() applicherร la funzione data su tutti gli elementi all'interno dell'iteratore e restituirร un oggetto mappa iterabile, ovvero una tupla, una lista, ecc.
Come funziona la funzione map()?
La funzione map() accetta due input come funzione e un oggetto iterabile. La funzione assegnata a map() รจ una funzione normale e itererร su tutti i valori presenti nell'oggetto iterabile fornito.
Ad esempio, supponiamo di avere un elenco di numeri e di voler trovare il quadrato di ciascuno di essi.
Per ottenere l'output, abbiamo bisogno della funzione che restituirร il quadrato del numero specificato. La funzione sarร la seguente:
def square(n): return n*n
L'elenco degli elementi che vogliamo trovare nel quadrato รจ il seguente:
my_list = [2,3,4,5,6,7,8,9]
Ora usiamo la funzione integrata map() python per ottenere il quadrato di ciascuno degli elementi in my_list.
Il codice finale รจ il seguente:
def square(n):
return n*n
my_list = [2,3,4,5,6,7,8,9]
updated_list = map(square, my_list)
print(updated_list)
print(list(updated_list))
Produzione:
<map object at 0x0000002C59601748> [4, 9, 16, 25, 36, 49, 64, 81]
L'output della funzione map(), come visto nell'output, รจ un oggetto mappa visualizzato sullo schermo come .
Dovrai ripetere l'output dalla mappa utilizzando un ciclo for o utilizzando il metodo list() per ottenere l'output finale. Ho usato list() nel codice che visualizza i valori all'interno dell'elenco fornito.
Quindi utilizzando la funzione map(), siamo in grado di ottenere il quadrato di ciascun numero. L'elenco fornito a map era [2,3,4,5,6,7,8,9] e utilizzando la funzione quadrato() l'output da map() abbiamo ottenuto รจ [4, 9, 16, 25, 36, 49, 64, 81] .
La funzione map() applica la funzione Square() a tutti gli elementi della lista. Ad esempio, la variabile my_list aggiorna l'elenco con il quadrato di ciascun numero. L'out รจ memorizzato nella variabile update_list.
Usando map() con Python funzioni integrate
Python La funzione map() รจ una funzione integrata e puรฒ essere utilizzata anche con altre funzioni integrate disponibili in Python. Nell'esempio utilizzeremo Python round() funzione incorporata che arrotonda i valori forniti.
Esempio:
L'elenco che ho รจ my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907] .
Ho bisogno dei valori arrotondati per ogni elemento presente nell'elenco. Utilizzeremo round() come funzione per map().
my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907] updated_list = map(round, my_list) print(updated_list) print(list(updated_list))
Produzione:
<map object at 0x000000E65F901748> [3, 4, 4, 6, 6, 8, 8, 10]
La funzione round() viene applicata a tutti gli elementi dell'elenco e restituisce un elenco con tutti i valori arrotondati come mostrato nell'output.
Utilizzo di map() con una stringa come iteratore
Possiamo anche utilizzare map() su una stringa. In Python, una stringa si comporta come un array quindi possiamo usarla facilmente all'interno di map().
Nell'esempio abbiamo una funzione myMapFunc() che si occupa di convertire la stringa data in maiuscolo. La funzione myMapFunc() viene assegnata alla funzione map(). La funzione map si occuperร di convertire la stringa fornita in maiuscolo passando la stringa a myMapFunc().
def myMapFunc(s):
return s.upper()
my_str = "welcome to guru99 tutorials!"
updated_list = map(myMapFunc, my_str)
print(updated_list)
for i in updated_list:
print(i, end="")
Produzione:
<map object at 0x000000DF2E711748> WELCOME TO GURU99 TUTORIALS!
Utilizzando map() con listof Numbers
Per lavorare con l'elenco in map() prenderร un elenco di numeri e moltiplicherร ciascun numero nell'elenco per 10.
L'elenco che utilizzeremo รจ: [2,3,4,5,6,7,8,9]. La funzione myMapFunc() si occupa di moltiplicare il numero dato per 10. La funzione viene data per mappare insieme alla lista.
Esempio:
def myMapFunc(n):
return n*10
my_list = [2,3,4,5,6,7,8,9]
updated_list = map(myMapFunc, my_list)
print(updated_list)
print(list(updated_list))
Produzione:
<map object at 0x000000EE2C061898> [20, 30, 40, 50, 60, 70, 80, 90]
L'output che vediamo รจ che ogni numero nell'elenco lo รจ
moltiplicato per 10.
Utilizzo di map() con Tuple
Una tupla รจ un oggetto in Python che ha elementi separati da virgole e racchiusi tra parentesi tonde. Nell'esempio, prenderemo una tupla con valori stringa. La funzione che useremo convertirร i valori forniti in maiuscolo.
Esempio:
def myMapFunc(n):
return n.upper()
my_tuple = ('php','java','python','c++','c')
updated_list = map(myMapFunc, my_tuple)
print(updated_list)
print(list(updated_list))
Produzione:
<map object at 0x0000009C3C3A16A0> ['PHP', 'JAVA', 'PYTHON', 'C++', 'C']
L'output che otteniamo รจ una tupla indietro con tutti i valori in essa contenuti convertiti in maiuscolo.
Utilizzo di map() con il dizionario
A dizionario dentro Python viene creato usando le parentesi graffe ({}). Poichรฉ il dizionario รจ un iteratore, puoi usarlo all'interno della funzione map(). Usiamo ora un dizionario come iteratore all'interno della funzione map().
L'esempio seguente mostra il funzionamento dell'iteratore del dizionario all'interno di map()
def myMapFunc(n):
return n*10
my_dict = {2,3,4,5,6,7,8,9}
finalitems = map(myMapFunc, my_dict)
print(finalitems)
print(list(finalitems))
Produzione:
<map object at 0x0000007EB451DEF0> [20, 30, 40, 50, 60, 70, 80, 90]
Utilizzando map() con Set
Entra Python รจ una raccolta non ordinata di elementi tra parentesi graffe (()). Poichรฉ set() รจ anche un iteratore, puoi utilizzarlo all'interno della funzione map().
Ecco un esempio funzionante dell'utilizzo di set come iteratore all'interno di map()
def myMapFunc(n):
return n*10
my_set = {2,3,4,5,6,7,8,9}
finalitems = map(myMapFunc, my_set)
print(finalitems)
print(list(finalitems))
Produzione:
<map object at 0x000000AC8F05DEF0> [20, 30, 40, 50, 60, 70, 80, 90]
Utilizzo di map() con la funzione Lambda
In Python, le espressioni lambda vengono utilizzate per costruire funzioni anonime. Dovrai utilizzare la parola chiave lambda proprio come usi def per definire le normali funzioni.
Quindi nell'esempio utilizzeremo la funzione lambda all'interno di map(). La funzione lambda moltiplicherร ogni valore nell'elenco per 10.
Esempio:
my_list = [2,3,4,5,6,7,8,9] updated_list = map(lambda x: x * 10, my_list) print(updated_list) print(list(updated_list))
Produzione:
<map object at 0x000000BD18B11898> [20, 30, 40, 50, 60, 70, 80, 90]
Utilizzo di piรน iteratori all'interno della funzione map()
Esempio 1: passaggio di due iteratori di lista a map()
Puoi inviare piรน di un iteratore, ad esempio una lista, una tupla, ecc., tutto contemporaneamente alla funzione map().
Ad esempio, se desideri aggiungere due elenchi. Lo stesso puรฒ essere fatto utilizzando la funzione map(). Utilizzeremo due elenchi my_list1 e my_list2.
Nell'esempio seguente, il primo elemento di my_list1 viene aggiunto al primo elemento di my_list2. La funzione myMapFunc() accetta elementi di my_list1 e my_list2 e restituisce la somma di entrambi.
Ecco l'esempio funzionante di aggiunta di due elenchi dati utilizzando la funzione map().
def myMapFunc(list1, list2):
return list1+list2
my_list1 = [2,3,4,5,6,7,8,9]
my_list2 = [4,8,12,16,20,24,28]
updated_list = map(myMapFunc, my_list1,my_list2)
print(updated_list)
print(list(updated_list))
Produzione:
<map object at 0x0000004D5F751860> [6, 11, 16, 21, 26, 31, 36]
Esempio 2: passaggio di una tupla e di un iteratore di lista a map()
Utilizzeremo una lista e un iteratore tupla nella funzione map(). La funzione รจ data a map: myMapFunc() otterrร gli elementi dall'elenco e da Tuple. Gli elementi verranno uniti con un carattere di sottolineatura(_). L'esempio di lavoro รจ quello mostrato di seguito:
def myMapFunc(list1, tuple1):
return list1+"_"+tuple1
my_list = ['a','b', 'b', 'd', 'e']
my_tuple = ('PHP','Java','Python','C++','C')
updated_list = map(myMapFunc, my_list,my_tuple)
print(updated_list)
print(list(updated_list))
Produzione:
<map object at 0x00000059F37BB4E0> ['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']
Sintesi
- Python map() รจ una funzione integrata che applica una funzione a tutti gli elementi di un iteratore fornito come input. Un iteratore, ad esempio, puรฒ essere una lista, una tupla, una stringa, ecc. e restituisce un oggetto mappa iterabile.
- La funzione map() applicherร la funzione data su tutti gli elementi all'interno dell'iteratore e restituirร un oggetto mappa iterabile, ovvero una tupla, una lista, ecc.
- Python La funzione map() รจ una funzione integrata e puรฒ essere utilizzata anche con altre funzioni integrate disponibili in Python.
- Una tupla รจ un oggetto in Python che ha elementi separati da virgole e racchiusi tra parentesi tonde. Nell'esempio prenderร una tupla con valori stringa. La funzione che useremo convertirร i valori forniti in maiuscolo.
- Un dizionario in Python viene creato usando le parentesi graffe ({}). Poichรฉ il dizionario รจ un iteratore, puoi utilizzarlo all'interno della funzione map().
- Entra Python รจ una raccolta non ordinata di elementi tra parentesi graffe (()). Poichรฉ set() รจ anche un iteratore, puoi utilizzarlo all'interno della funzione map().
- In Python, le espressioni lambda (o forme lambda) vengono utilizzate per costruire funzioni anonime. Quindi la parola chiave lambda deve essere utilizzata quando si desidera utilizzare lambda all'interno di map().
- Puoi inviare piรน di un iteratore, ad esempio una lista, una tupla alla funzione map().
