Python map () primjenjuje funkciju na sve stavke iteratora dane kao ulaz. Na primjer, iterator može biti popis, skup, skup, rječnik, niz i vraća iterabilni objekt karte. Python map () je ugrađena funkcija.
U ovom vodiču naučit ćete:
- Sintaksa:
- Kako funkcionira funkcija map ()?
- Korištenje map () s ugrađenim Python funkcijama
- Korištenje map () sa nizom kao iteratora
- Korištenje karte () s brojevima listova
- Korištenje karte () s Tupleom
- Korištenje karte () s Rječnikom
- Korištenje karte () s Setom
- Korištenje map () s Lambda funkcijom
- Korištenje višestrukih iteratora unutar funkcije map ()
Sintaksa:
map(function, iterator1,iterator2… iteratorN)
Parametri
Evo dva važna
- funkcija: Obvezna funkcija koja se daje mapiranju koja će se primijeniti na sve stavke dostupne u iteratoru.
- iterator: ponovljivi obvezni objekt. To može biti popis, skup, itd. Možete dodati više objekata iteratora u funkciju map ().
Povratna vrijednost
Funkcija map () primijenit će zadanu funkciju na sve stavke unutar iteratora i vratiti iterabilni objekt karte, tj. Tuple, popis itd.
Kako funkcionira funkcija map ()?
Funkcija map () uzima dva ulaza kao funkciju i iterabilni objekt. Funkcija koja je dana map () normalna je funkcija i ponavljat će sve vrijednosti prisutne u datom iterabilnom objektu.
Na primjer, uzmite u obzir da imate popis brojeva i želite pronaći kvadrat svakog od brojeva.
Da bismo dobili izlaz, trebamo funkciju koja će vratiti kvadrat zadanog broja. Funkcija će biti sljedeća:
def square(n):return n*n
Popis predmeta koje želimo pronaći u kvadratu je sljedeći:
my_list = [2,3,4,5,6,7,8,9]
Sada ćemo koristiti ugrađenu funkciju map () python da dobijemo kvadrat svake od stavki na mom_popisu.
Konačni kod je sljedeći:
def square(n):return n*nmy_list = [2,3,4,5,6,7,8,9]updated_list = map(square, my_list)print(updated_list)print(list(updated_list))
Izlaz:
Izlaz funkcije map (), kao što se vidi u izlazu, je objekt karte prikazan na zaslonu kao
Morat ćete ponoviti izlaz s karte pomoću for-loop ili koristeći list () metodu da biste dobili konačni izlaz. Koristio sam list () u kodu koji prikazuje vrijednosti unutar datog popisa.
Dakle, koristeći funkciju map (), možemo dobiti kvadrat svakog broja. Popis koji je dodan karti bio je [2,3,4,5,6,7,8,9] i koristeći funkciju square () izlaz s karte () koju smo dobili je [4, 9, 16, 25, 36, 49, 64, 81].
Mapa funkcija () primjenjuje kvadrat funkcije () na sve stavke na popisu. Na primjer, varijabla my_list i ažurira popis kvadratom svakog broja. Izlaz je pohranjen u varijablu updated_list.
Korištenje map () s ugrađenim Python funkcijama
Funkcija Python map () je ugrađena funkcija i može se koristiti s ostalim ugrađenim funkcijama dostupnim u Pythonu. U primjeru ćemo koristiti ugrađenu funkciju Python round () koja zaokružuje zadane 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 prisutnu na popisu. Koristit ćemo okrugli () kao funkciju za mapiranje ().
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:
Funkcija round () primjenjuje se na sve stavke na popisu i vraća popis sa svim vrijednostima zaokruženim kao što je prikazano u izlazu.
Korištenje map () sa nizom kao iteratora
Također možemo koristiti map () na nizu. U Pythonu niz djeluje poput niza pa ga lako možemo koristiti unutar karte ().
U primjeru imamo funkciju myMapFunc () koja se brine o pretvaranju datog niza u velika slova. Funkcija myMapFunc () dana je funkciji map (). Funkcija map pobrinut će se za pretvaranje niza datog 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:
Korištenje karte () s brojevima listova
Za rad sa popisom u mapi () uzet će se 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 da pomnoži zadani broj s 10. Funkcija je dana za mapiranje zajedno s popisom.
Primjer:
def myMapFunc(n):return n*10my_list = [2,3,4,5,6,7,8,9]updated_list = map(myMapFunc, my_list)print(updated_list)print(list(updated_list))
Izlaz:
Rezultat koji vidimo je da je svaki broj na popisu
pomnoženo s 10.
Korištenje karte () s Tupleom
Tuple je objekt u Pythonu koji ima stavke odvojene zarezima i zatvorene u okrugle zagrade. U primjeru ćemo uzeti korpus s nizovnim vrijednostima. Funkcija koju ćemo koristiti pretvorit će zadane 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:
Izlaz koji dobijemo je korpica natrag sa svim vrijednostima u njemu pretvara se u velika slova.
Korištenje karte () s Rječnikom
Rječnik na Pythonu izrađen je pomoću kovrčavih zagrada ({}). Budući da je rječnik iterator, možete ga koristiti unutar funkcije map (). Koristimo sada rječnik kao iterator unutar funkcije map ().
Sljedeći primjer prikazuje rad iteratora rječnika unutar mape ()
def myMapFunc(n):return n*10my_dict = {2,3,4,5,6,7,8,9}finalitems = map(myMapFunc, my_dict)print(finalitems)print(list(finalitems))
Izlaz:
Korištenje karte () s Setom
U Pythonu je uređena kolekcija predmeta u kovrčavim zagradama (()). Budući da je set () ujedno i iterator, možete ga koristiti unutar funkcije map ().
Evo radnog primjera upotrebe skupa kao iteratora unutar mape ()
def myMapFunc(n):return n*10my_set = {2,3,4,5,6,7,8,9}finalitems = map(myMapFunc, my_set)print(finalitems)print(list(finalitems))
Izlaz:
Korištenje map () s Lambda funkcijom
U Pythonu se lambda izrazi koriste za konstrukciju anonimnih funkcija. Morat ćete upotrijebiti lambda ključnu riječ baš kao što koristite def za definiranje normalnih funkcija.
Dakle, u primjeru ćemo koristiti lambda funkciju unutar karte (). Lambda funkcija pomnožit će svaku vrijednost s popisa 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:
Korištenje višestrukih iteratora unutar funkcije map ()
Primjer 1: Prosljeđivanje dvaju iteratora popisa na map ()
Možete poslati više od jednog iteratora, tj. Popis, skup, itd., Sve istovremeno na map () funkciju.
Na primjer, ako želite dodati dva popisa. Isto se može učiniti pomoću funkcije map (). Koristit ćemo dva popisa my_list1 i my_list2.
U primjeru u nastavku, prva stavka na mom_popisu1 dodaje se prvoj stavci na mojem_popisu2. Funkcija myMapFunc () uzima stavke my_list1 i my_list2 i vraća zbroj oba.
Evo radnog primjera dodavanja dvaju zadanih popisa pomoću funkcije map ().
def myMapFunc(list1, list2):return list1+list2my_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:
Primjer 2: prosljeđivanje jednog Tuplea i iteratora popisa na map ()
Koristit ćemo popis i iterator korpica u funkciji map (). Funkcija je dana mapiranju - myMapFunc () dobit će stavke s popisa i Tuple. Stavke će se spojiti podvlakom (_). Primjer rada je kako je prikazano u nastavku:
def myMapFunc(list1, tuple1):return list1+"_"+tuple1my_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:
Sažetak
- Python map () je ugrađena funkcija koja primjenjuje funkciju na sve stavke iteratora dane kao ulaz. Na primjer, iterator može biti popis, skup, niz itd. I vraća iterabilni objekt karte.
- Funkcija map () primijenit će zadanu funkciju na sve stavke unutar iteratora i vratiti iterabilni objekt karte, tj. Tuple, popis itd.
- Funkcija Python map () je ugrađena funkcija i može se koristiti s ostalim ugrađenim funkcijama dostupnim u Pythonu.
- Tuple je objekt u Pythonu koji ima stavke odvojene zarezima i zatvorene u okrugle zagrade. U primjeru ćemo uzeti korpicu s nizovnim vrijednostima. Funkcija koju ćemo koristiti pretvorit će zadane vrijednosti u velika slova.
- Rječnik na Pythonu izrađen je pomoću kovrčavih zagrada ({}). Budući da je rječnik iterator, možete ga koristiti unutar funkcije map ().
- U Pythonu je uređena kolekcija predmeta u kovrčavim zagradama (()). Budući da je set () ujedno i iterator, možete ga koristiti unutar funkcije map ().
- U Pythonu se lambda izrazi (ili lambda oblici) koriste za konstrukciju anonimnih funkcija. Dakle, ključna riječ lambda mora se koristiti kada želite koristiti lambda unutar karte ().
- Možete poslati više od jednog iteratora, tj. Popisa, korpica na funkciju map ().