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)

parametri

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']

Sommario

  • 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().