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.

Saลพmite ovu objavu uz: