Python map () funkcija ar PIEMĒRIEM

Satura rādītājs:

Anonim

Python karte () piemēro funkciju visiem iteratora elementiem, kas norādīti kā ievade. Piemēram, iterators var būt saraksts, kopa, kopa, vārdnīca, virkne, un tas atgriež iterējamu kartes objektu. Python karte () ir iebūvēta funkcija.

Šajā apmācībā jūs uzzināsiet:

  • Sintakse:
  • Kā darbojas kartes () funkcija?
  • Map () izmantošana ar iebūvētām Python funkcijām
  • Izmantojot iteratoru map () ar virkni
  • Izmantojot karti () ar numuru sarakstu
  • Kartes () izmantošana ar Tuple
  • Izmantojot karti () ar vārdnīcu
  • Izmantojot karti () ar Set
  • Izmantojot karti () ar funkciju Lambda
  • Izmantojot funkciju Vairāki atkārtotāji kartes () iekšpusē

Sintakse:

map(function, iterator1,iterator2… iteratorN)

Parametri

Šeit ir divi svarīgi

  • funkcija: obligāta funkcija, kas jāpiešķir kartei, kas tiks piemērota visiem iteratorā pieejamajiem vienumiem.
  • iterators: atkārtojams obligāts objekts. Tas var būt saraksts, kopa utt. Kartes () funkcijai varat nodot vairākus iteratora objektus.

Atgriešanās vērtība

Funkcija map () izmantos doto funkciju visiem iteratora elementiem un atgriezīs iterējamu kartes objektu, ti, kopu, sarakstu utt.

Kā darbojas kartes () funkcija?

Map () funkcijai ir divas ievades kā funkcija un iterējams objekts. Mapei () piešķirtā funkcija ir normāla funkcija, un tā atkārto visas vērtības, kas atrodas dotajā iterējamajā objektā.

Piemēram, uzskatiet, ka jums ir numuru saraksts un vēlaties atrast katra skaitļa kvadrātu.

Lai iegūtu izvadi, mums ir nepieciešama funkcija, kas atgriezīs norādītā skaitļa kvadrātu. Funkcija būs šāda:

def square(n):return n*n

To vienumu saraksts, kurus mēs vēlamies atrast kvadrātā, ir šāds:

my_list = [2,3,4,5,6,7,8,9]

Tagad izmantosim iebūvēto map () python funkciju, lai iegūtu katra elementa kvadrātu my_list.

Galīgais kods ir šāds:

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))

Izeja:

[4, 9, 16, 25, 36, 49, 64, 81]

Funkcijas map () izeja, kā redzams izvadē, ir kartes objekts, kas ekrānā tiek parādīts kā .

Lai iegūtu galīgo rezultātu, jums būs jāpārkārto kartes izvads, izmantojot for-loop vai izmantojot list () metodi. Esmu izmantojis list () kodā, kas parāda norādītā saraksta vērtības.

Tātad, izmantojot map () funkciju, mēs varam iegūt katra skaitļa kvadrātu. Kartei dotais saraksts bija [2,3,4,5,6,7,8,9] un izmantojot funkciju kvadrātu () izeja no kartes () mēs esam [4, 9, 16, 25, 36, 49, 64, 81].

Funkciju karte () uz visām saraksta vienībām lieto funkciju kvadrātu (). Piemēram, mainīgais my_list un atjaunina sarakstu ar katra skaitļa kvadrātu. Izeja tiek saglabāta mainīgajā updated_list.

Map () izmantošana ar iebūvētām Python funkcijām

Python map () funkcija ir iebūvēta funkcija, un to var izmantot arī ar citām iebūvētām funkcijām, kas pieejamas Python. Šajā piemērā mēs izmantosim Python round () iebūvēto funkciju, kas noapaļo norādītās vērtības.

Piemērs:

Manis saraksts ir my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907].

Man ir nepieciešamas noapaļotās vērtības katram sarakstā esošajam vienumam. Mēs izmantosim round () kā funkciju, lai kartētu ().

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))

Izeja:

[3, 4, 4, 6, 6, 8, 8, 10]

Funkcija round () tiek lietota visiem saraksta vienumiem, un tā atgriež sarakstu ar visām vērtībām noapaļotām, kā parādīts izvadē.

Izmantojot iteratoru map () ar virkni

Mēs varam arī izmantot karti () uz virknes. Python virkne darbojas kā masīvs, lai mēs to varētu ērti izmantot kartes iekšienē ().

Šajā piemērā mums ir funkcija myMapFunc (), kas rūpējas par dotās virknes pārveidošanu lielajiem burtiem. Funkcija myMapFunc () tiek piešķirta map () funkcijai. Kartes funkcija rūpēsies par lielo burtu dotās virknes pārveidošanu, nododot virkni 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)

Izeja:

WELCOME TO GURU99 TUTORIALS!

Izmantojot karti () ar numuru sarakstu

Lai strādātu ar sarakstu kartē (), tiks ņemts skaitļu saraksts un katrs saraksta skaitlis reizināts ar 10.

Saraksts, kuru mēs izmantosim, ir: [2,3,4,5,6,7,8,9]. Funkcija myMapFunc () rūpējas, lai doto skaitli reizinātu ar 10. Funkcija tiek dota, lai kartētu kopā ar sarakstu.

Piemērs:

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))

Izeja:

[20, 30, 40, 50, 60, 70, 80, 90]

Mēs redzam, ka katrs skaitlis sarakstā ir

reizināts ar 10.

Kartes () izmantošana ar Tuple

Tuple ir objekts Python, kuram ir vienumi, kas atdalīti ar komatiem un ievietoti apaļajās iekavās. Šajā piemērā mēs ņemsim virkni ar virkņu vērtībām. Funkcija, kuru mēs izmantosim, pārvērš piešķirtās vērtības lielajiem burtiem.

Piemērs:

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))

Izeja:

['PHP', 'JAVA', 'PYTHON', 'C++', 'C']

Iegūtais rezultāts ir dubultā aizmugure, kurā visas vērtības tajā tiek pārvērstas par lielajiem burtiem.

Izmantojot karti () ar vārdnīcu

Vārdnīca Python tiek izveidota, izmantojot cirtainās iekavas ({}). Tā kā vārdnīca ir iterators, to var izmantot mapes () funkcijā. Izmantosim vārdnīcu kā iteratoru map () funkcijā.

Šis piemērs parāda vārdnīcas iteratora darbību kartē ()

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))

Izeja:

[20, 30, 40, 50, 60, 70, 80, 90]

Izmantojot karti () ar Set

Iestatīta Python ir nesakārtota priekšmetu kolekcija cirtainās iekavās (()). Tā kā set () ir arī iterators, to var izmantot mapes () funkcijā.

Šis ir piemērs, kā kopu izmantot kā iteratoru kartes iekšpusē ()

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))

Izeja:

[20, 30, 40, 50, 60, 70, 80, 90]

Izmantojot karti () ar funkciju Lambda

Programmā Python anonīmu funkciju izveidošanai tiek izmantotas lambda izteiksmes. Jums būs jāizmanto lambda atslēgvārds tāpat kā def, lai definētu normālas funkcijas.

Tātad piemērā mēs izmantosim lambda funkciju kartes iekšpusē (). Lambda funkcija katru saraksta vērtību reizinās ar 10.

Piemērs:

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))

Izeja:

[20, 30, 40, 50, 60, 70, 80, 90]

Izmantojot funkciju Vairāki atkārtotāji kartes () iekšpusē

1. piemērs: divu saraksta atkārtotāju nodošana kartē ()

Kartes () funkcijai varat vienlaikus nosūtīt vairākus atkārtotājus, ti, sarakstu, kopu utt.

Piemēram, ja vēlaties pievienot divus sarakstus. To pašu var izdarīt, izmantojot funkciju map (). Mēs izmantosim divus sarakstus my_list1 un my_list2.

Tālāk sniegtajā piemērā pirmais vienums my_list1 tiek pievienots my_list2 pirmajam vienumam. Funkcija myMapFunc () ņem elementus my_list1 un my_list2 un atgriež abu summu.

Šis ir piemērs divu pievienoto sarakstu pievienošanai, izmantojot funkciju 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))

Izeja:

[6, 11, 16, 21, 26, 31, 36]

2. piemērs: viena Tuple un saraksta atkārtotāja nodošana kartē ()

Mēs izmantosim sarakstu un dubulto atkārtotāju kartes () funkcijā. Funkcija tiek piešķirta kartei - myMapFunc () iegūs vienumus no saraksta un Tuple. Vienumi tiks apvienoti ar pasvītrojumu (_). Darba piemērs ir šāds:

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))

Izeja:

['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']

Kopsavilkums

  • Python karte () ir iebūvēta funkcija, kas piemēro funkciju visiem iteratora elementiem, kas norādīti kā ievade. Piemēram, iterators var būt saraksts, kopa, virkne utt., Un tas atgriež iterējamu kartes objektu.
  • Funkcija map () izmantos doto funkciju visiem iteratora elementiem un atgriezīs iterējamu kartes objektu, ti, kopu, sarakstu utt.
  • Python map () funkcija ir iebūvēta funkcija, un to var izmantot arī ar citām iebūvētām funkcijām, kas pieejamas Python.
  • Tuple ir objekts Python, kuram ir vienumi, kas atdalīti ar komatiem un ievietoti apaļajās iekavās. Šajā piemērā tiks izmantots virkne ar virkņu vērtībām. Funkcija, kuru mēs izmantosim, pārvērš piešķirtās vērtības lielajiem burtiem.
  • Vārdnīca Python tiek izveidota, izmantojot cirtainās iekavas ({}). Tā kā vārdnīca ir iterators, to var izmantot mapes () funkcijā.
  • Iestatīta Python ir nesakārtota priekšmetu kolekcija cirtainās iekavās (()). Tā kā set () ir arī iterators, to var izmantot mapes () funkcijā.
  • Programmā Python anonīmu funkciju izveidošanai tiek izmantotas lambda izteiksmes (vai lambda formas). Tātad, kad vēlaties lietot lambda kartē (), lambda atslēgvārds ir jāizmanto.
  • Varat nosūtīt vairāk nekā vienu iteratoru, ti, sarakstu, kopu uz mapes () funkciju.