Python map() funkcija s PRIMJERIMA
Python map() primjenjuje funkciju na sve stavke iteratora dane kao ulaz. Iterator, na primjer, moลพe biti popis, tuple, skup, rjeฤnik, niz, i vraฤa objekt karte koji se moลพe ponavljati. Python map() je ugraฤena funkcija.
Sintaksa
map(function, iterator1,iterator2 ...iteratorN)
Parametri
Ovdje su dva vaลพna
- funkcija: obvezna funkcija koju treba dati mapiranju, a koja ฤe se primijeniti na sve stavke dostupne u iteratoru.
- iterator: obvezni objekt koji se moลพe ponoviti. To moลพe biti popis, tuple itd. Funkciji map() moลพete proslijediti viลกe objekata iteratora.
Povratna vrijednost
Funkcija map() primijenit ฤe zadanu funkciju na sve stavke unutar iteratora i vratiti objekt karte koji se moลพe ponoviti, tj. torku, popis itd.
Kako funkcionira funkcija map()?
Funkcija map() uzima dva ulaza kao funkciju i objekt koji se moลพe ponavljati. Funkcija koja je dana map() je normalna funkcija i ona ฤe iterirati preko svih vrijednosti prisutnih u danom objektu koji se moลพe ponoviti.
Na primjer, pretpostavimo da imate popis brojeva i ลพelite pronaฤi kvadrat svakog od brojeva.
Da bismo dobili izlaz, potrebna nam je funkcija koja ฤe vratiti kvadrat zadanog broja. Funkcija ฤe biti sljedeฤa:
def square(n): return n*n
Popis stavki koje ลพelimo pronaฤi na kvadratu je sljedeฤi:
my_list = [2,3,4,5,6,7,8,9]
Sada upotrijebimo ugraฤenu funkciju map() python da dobijemo kvadrat svake stavke u my_list.
Konaฤni kod je sljedeฤi:
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))
Izlaz:
<map object at 0x0000002C59601748> [4, 9, 16, 25, 36, 49, 64, 81]
Izlaz funkcije map(), kao ลกto se vidi u izlazu, je objekt mape prikazan na ekranu kao .
Morat ฤete ponoviti izlaz iz mape koristeฤi for-petlju ili koristeฤi metodu list() da biste dobili konaฤni izlaz. Koristio sam list() u kodu koji prikazuje vrijednosti unutar danog popisa.
Dakle, koriลกtenjem funkcije map() moลพemo dobiti kvadrat svakog broja. Popis dan za mapiranje bio je [2,3,4,5,6,7,8,9], a koriลกtenjem funkcije square() izlaz iz map() dobili smo [4, 9, 16, 25, 36, 49, 64, 81] .
Funkcija map() primjenjuje funkciju square() na sve stavke na popisu. Na primjer, my_list varijabla i aลพurira popis s kvadratom svakog broja. Izlaz je pohranjen u varijabli updated_list.
Koriลกtenje map() sa Python ugraฤene funkcije
Python map() funkcija je ugraฤena funkcija i moลพe se koristiti s drugim ugraฤenim funkcijama dostupnim u Python. U primjeru koji ฤemo koristiti Python round() ugraฤena funkcija koja zaokruลพuje dane vrijednosti.
Primjer:
Popis koji imam je my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907] .
Trebam zaokruลพene vrijednosti za svaku stavku na popisu. Iskoristit ฤemo round() kao funkciju za 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))
Izlaz:
<map object at 0x000000E65F901748> [3, 4, 4, 6, 6, 8, 8, 10]
Funkcija round() primjenjuje se na sve stavke na popisu i vraฤa popis sa svim zaokruลพenim vrijednostima kao ลกto je prikazano u izlazu.
Koriลกtenje map() sa stringom kao iteratorom
Takoฤer moลพemo koristiti map() na nizu. U Python, niz se ponaลกa kao niz pa ga moลพemo lako koristiti unutar map().
U primjeru imamo funkciju myMapFunc() koja se brine za pretvaranje zadanog niza u velika slova. Funkcija myMapFunc () dana je funkciji map(). Funkcija map ฤe se pobrinuti za pretvaranje niza danog u velika slova prosljeฤivanjem niza u 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="")
Izlaz:
<map object at 0x000000DF2E711748> WELCOME TO GURU99 TUTORIALS!
Koriลกtenje map() s listof Numbers
Za rad s popisom u map() ฤe uzeti popis brojeva i pomnoลพiti svaki broj na popisu s 10.
Popis koji ฤemo koristiti je: [2,3,4,5,6,7,8,9]. Funkcija myMapFunc () brine se za mnoลพenje zadanog broja s 10. Funkcija je dana za mapiranje zajedno s popisom.
Primjer:
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))
Izlaz:
<map object at 0x000000EE2C061898> [20, 30, 40, 50, 60, 70, 80, 90]
Rezultat koji vidimo je da je svaki broj na listi
pomnoลพeno sa 10.
Koriลกtenje map() s Tupleom
Torka je objekt u Python koji ima stavke odvojene zarezima i zatvorene okruglim zagradama. U primjeru ฤemo uzeti torku sa string vrijednostima. Funkcija koju ฤemo koristiti pretvorit ฤe dane vrijednosti u velika slova.
Primjer:
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))
Izlaz:
<map object at 0x0000009C3C3A16A0> ['PHP', 'JAVA', 'PYTHON', 'C++', 'C']
Izlaz koji dobivamo je tuple back sa svim vrijednostima u njemu pretvorenim u velika slova.
Koriลกtenje map() s rjeฤnikom
A rjeฤnik u Python kreira se pomoฤu vitiฤastih zagrada({}). Buduฤi da je rjeฤnik iterator, moลพete ga koristiti unutar funkcije map(). Upotrijebimo sada rjeฤnik kao iterator unutar map() funkcije.
Sljedeฤi primjer pokazuje rad iteratora rjeฤnika unutar 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))
Izlaz:
<map object at 0x0000007EB451DEF0> [20, 30, 40, 50, 60, 70, 80, 90]
Koriลกtenje map() sa Set
Smjestiti se Python je neureฤena zbirka stavki u vitiฤastim zagradama(()). Buduฤi da je set() takoฤer iterator, moลพete ga koristiti unutar funkcije map().
Ovdje je radni primjer koriลกtenja skupa kao iteratora unutar 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))
Izlaz:
<map object at 0x000000AC8F05DEF0> [20, 30, 40, 50, 60, 70, 80, 90]
Koriลกtenje map() s Lambda funkcijom
In Python, lambda izrazi se koriste za konstruiranje anonimnih funkcija. Morat ฤete koristiti kljuฤnu rijeฤ lambda baลก kao ลกto koristite def za definiranje normalnih funkcija.
Dakle, u primjeru ฤemo koristiti lambda funkciju unutar map(). Lambda funkcija ฤe pomnoลพiti svaku vrijednost na popisu s 10.
Primjer:
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))
Izlaz:
<map object at 0x000000BD18B11898> [20, 30, 40, 50, 60, 70, 80, 90]
Koriลกtenje viลกestrukih iteratora unutar funkcije map().
Primjer 1: prosljeฤivanje dva iteratora popisa u map()
Moลพete poslati viลกe od jednog iteratora, tj. popis, tuple, itd. sve u isto vrijeme funkciji map().
Na primjer, ako ลพelite dodati dva popisa. Isto se moลพe uฤiniti pomoฤu funkcije map(). Iskoristit ฤemo dvije liste my_list1 i my_list2.
U donjem primjeru, prva stavka na my_list1 dodaje se prvoj stavci my_list2. Funkcija myMapFunc() uzima stavke my_list1 i my_list2 i vraฤa zbroj oba.
Ovdje je radni primjer dodavanja dva zadana popisa pomoฤu funkcije 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))
Izlaz:
<map object at 0x0000004D5F751860> [6, 11, 16, 21, 26, 31, 36]
Primjer 2: prosljeฤivanje jedne torke i iteratora liste u map()
Iskoristit ฤemo popis i iterator torki u funkciji map(). Funkcija je dana za mapiranje โ myMapFunc() ฤe dobiti stavke s popisa i Tuple. Stavke ฤe biti spojene podvlakom (_). Radni primjer je prikazan u nastavku:
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))
Izlaz:
<map object at 0x00000059F37BB4E0> ['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']
Rezime
- Python map() je ugraฤena funkcija koja primjenjuje funkciju na sve stavke iteratora dane kao ulaz. Iterator, na primjer, moลพe biti popis, tuple, string, itd. i vraฤa objekt karte koji se moลพe ponoviti.
- Funkcija map() primijenit ฤe zadanu funkciju na sve stavke unutar iteratora i vratiti objekt karte koji se moลพe ponoviti, tj. torku, popis itd.
- Python map() funkcija je ugraฤena funkcija i moลพe se koristiti s drugim ugraฤenim funkcijama dostupnim u Python.
- Torka je objekt u Python koji ima stavke odvojene zarezima i zatvorene okruglim zagradama. U primjeru ฤemo uzeti tuple sa string vrijednostima. Funkcija koju ฤemo koristiti pretvorit ฤe dane vrijednosti u velika slova.
- Rjeฤnik u Python kreira se pomoฤu vitiฤastih zagrada({}). Buduฤi da je rjeฤnik iterator, moลพete ga koristiti unutar funkcije map().
- Smjestiti se Python je neureฤena zbirka stavki u vitiฤastim zagradama(()). Buduฤi da je set() takoฤer iterator, moลพete ga koristiti unutar funkcije map().
- In Python, lambda izrazi (ili lambda oblici) koriste se za konstrukciju anonimnih funkcija. Stoga se kljuฤna rijeฤ lambda mora koristiti kada ลพelite koristiti lambda unutar map().
- Funkciji map() moลพete poslati viลกe od jednog iteratora, tj. popis, torku.
