„Python map“ () funkcija su PAVYZDŽIAIS

„Python map“ () taiko funkciją visiems iteratoriaus elementams, pateikiamiems kaip įvestis. Pavyzdžiui, iteratorius gali būti sąrašas, paketas, rinkinys, žodynas, eilutė ir jis pateikia kartojamą žemėlapio objektą. „Python map“ () yra įmontuota funkcija.

Šioje pamokoje sužinosite:

  • Sintaksė:
  • Kaip veikia žemėlapio () funkcija?
  • Žemėlapio () naudojimas su integruotomis „Python“ funkcijomis
  • Žemėlapio () naudojimas kaip eilutė kaip eilutė
  • Žemėlapio () naudojimas su numerių sąrašu
  • Žemėlapio () naudojimas su Tuple
  • Žemėlapio () naudojimas su žodynu
  • Žemėlapio () naudojimas su „Set“
  • Žemėlapio () naudojimas su „Lambda“ funkcija
  • Kelių kartotojų naudojimas žemėlapio () funkcijoje

Sintaksė:

map(function, iterator1,iterator2… iteratorN)

Parametrai

Čia yra du svarbūs

  • funkcija: privaloma funkcija, kurią reikia suteikti žemėlapiui, kuri bus taikoma visiems iteratoriaus elementams.
  • iteratorius: kartojamas privalomas objektas. Tai gali būti sąrašas, paketas ir kt. Galite perduoti kelis iteratoriaus objektus žemėlapio () funkcijai.

Grąžinimo vertė

Funkcija „map ()“ pritaikys nurodytą funkciją visiems iteratoriaus elementams ir grąžins kartojamą žemėlapio objektą, pvz., Atkarpą, sąrašą ir kt.

Kaip veikia žemėlapio () funkcija?

Žemėlapio () funkcijai reikia dviejų įvesties funkcijų ir iteruojamo objekto. Funkcija, kuri suteikiama map (), yra įprasta funkcija, ir ji kartosis per visas reikšmes, esančias pateiktame iteruojamame objekte.

Pavyzdžiui, apsvarstykite, ar turite skaičių sąrašą ir norite rasti kiekvieno skaičiaus kvadratą.

Norėdami gauti išvestį, mums reikia funkcijos, kuri grąžins nurodyto skaičiaus kvadratą. Funkcija bus tokia:

def square(n):return n*n

Elementų, kuriuos norime rasti kvadratą, sąrašas yra toks:

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

Dabar naudokime integruotą „map () python“ funkciją, kad gautume kiekvieno elemento, esančio „my_list“, kvadratą.

Galutinis kodas yra toks:

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

Išvestis:

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

Žemėlapio () funkcijos išvestis, kaip matyti išvestyje, yra žemėlapio objektas, rodomas ekrane kaip <žemėlapio objektas 0x0000002C59601748>.

Norėdami gauti galutinį rezultatą, turėsite pakartoti žemėlapio išvestį naudodami „for-loop“ arba „list“ () metodą. Kode naudojau sąrašą (), kuris pateikia pateiktame sąraše esančias vertes.

Taigi, naudodami žemėlapio () funkciją, galime gauti kiekvieno skaičiaus kvadratą. Žemėlapiui pateiktas sąrašas buvo [2,3,4,5,6,7,8,9], o naudojant funkcijos kvadratą () išvestis iš žemėlapio () gavome [4, 9, 16, 25, 36, 49, 64, 81].

Funkcijų žemėlapis () funkcijų kvadratą () taiko visiems sąrašo elementams. Pvz., „My_list“ kintamasis ir atnaujina sąrašą kiekvieno skaičiaus kvadratu. Išėjimas saugomas kintamajame updated_list.

Žemėlapio () naudojimas su integruotomis „Python“ funkcijomis

„Python map“ () funkcija yra įmontuota funkcija, ją taip pat galima naudoti su kitomis įmontuotomis „Python“ funkcijomis. Šiame pavyzdyje mes ketiname naudoti „Python round“ () integruotą funkciją, kuri suapvalina pateiktas reikšmes.

Pavyzdys:

Mano turimas sąrašas yra mano_ sąrašas = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907].

Man reikia suapvalinti kiekvieno sąraše esančio elemento reikšmes. Mes naudosime „round“ () funkciją kaip funkciją žemėlapiui ().

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

Išvestis:

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

Funkcija round () taikoma visiems sąrašo elementams ir grąžina sąrašą su visomis vertėmis, suapvalintomis, kaip parodyta išvestyje.

Žemėlapio () naudojimas kaip eilutė kaip eilutė

Mes taip pat galime naudoti žemėlapį () ant eilutės. „Python“ eilutė veikia kaip masyvas, todėl mes galime lengvai ją naudoti žemėlapyje ().

Pavyzdyje turime funkciją myMapFunc (), kuri rūpinasi nurodytos eilutės pavertimu didžiosiomis. Funkcija myMapFunc () suteikiama map () funkcijai. Žemėlapio funkcija pasirūpins, kad eilutė būtų perduota didžiosioms, perduodant eilutę 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)

Išvestis:

WELCOME TO GURU99 TUTORIALS!

Žemėlapio () naudojimas su numerių sąrašu

Norėdami dirbti su sąrašu žemėlapyje (), reikės skaičių sąrašo ir padauginkite kiekvieną sąrašo skaičių iš 10.

Sąrašas, kurį ketiname naudoti, yra: [2,3,4,5,6,7,8,9]. Funkcija myMapFunc () rūpinasi nurodyto skaičiaus padauginimu iš 10. Funkcija suteikiama žemėlapiui kartu su sąrašu.

Pavyzdys:

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

Išvestis:

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

Matome, kad kiekvienas sąrašo skaičius yra

padauginta iš 10.

Žemėlapio () naudojimas su Tuple

„Tuple“ yra „Python“ objektas, turintis kableliais atskirtus elementus ir uždarytus apvaliuose skliaustuose. Pavyzdyje paimsime po eilutę su eilutės reikšmėmis. Funkcija, kurią naudosime, pavers nurodytas reikšmes didžiosiomis raidėmis.

Pavyzdys:

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

Išvestis:

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

Gaunamas rezultatas yra dvigubas atgal, kuriame visos vertės yra paverstos didžiosiomis raidėmis.

Žemėlapio () naudojimas su žodynu

Žodynas „Python“ yra sukurtas naudojant garbanotus skliaustus ({}). Kadangi žodynas yra iteratorius, jį galite naudoti žemėlapio () funkcijoje. Dabar naudokime žodyną kaip iteratorių žemėlapio () funkcijoje.

Šis pavyzdys rodo žodyno iteratoriaus darbą žemėlapio viduje ()

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

Išvestis:

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

Žemėlapio () naudojimas su „Set“

„Python“ rinkinys yra nesutvarkyta elementų kolekcija garbanotuose skliaustuose (()). Kadangi set () taip pat yra iteratorius, galite jį naudoti žemėlapio () funkcijoje.

Štai pavyzdinis rinkinio naudojimo kaip iteratorius žemėlapio viduje () pavyzdys

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

Išvestis:

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

Žemėlapio () naudojimas su „Lambda“ funkcija

„Python“ sistemoje anoniminėms funkcijoms kurti naudojamos lambda išraiškos. Turėsite naudoti „lambda“ raktinį žodį taip pat, kaip apibrėždami įprastas funkcijas, naudokite def.

Taigi pavyzdyje mes naudosime „lambda“ funkciją žemėlapio viduje (). Lambda funkcija kiekvieną sąrašo vertę padaugins iš 10.

Pavyzdys:

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

Išvestis:

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

Kelių kartotojų naudojimas žemėlapio () funkcijoje

1 pavyzdys: dviejų sąrašo kartotojų perdavimas žemėlapiui ()

Kartu į žemėlapio () funkciją galite siųsti daugiau nei vieną iteratorių, t. Y. Sąrašą, kelis ir tt.

Pavyzdžiui, jei norite pridėti du sąrašus. Tą patį galima padaryti naudojant žemėlapio () funkciją. Mes ketiname naudoti du sąrašus my_list1 ir my_list2.

Toliau pateiktame pavyzdyje pirmasis „my_list1“ elementas pridedamas prie pirmojo „my_list2“ elemento. Funkcija myMapFunc () priima my_list1 ir my_list2 elementus ir grąžina abiejų sumą.

Čia pateikiamas dviejų pateiktų sąrašų pridėjimo naudojant žemėlapio () funkciją pavyzdys.

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

Išvestis:

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

2 pavyzdys: vieno Tuple ir sąrašo iteratoriaus perdavimas žemėlapiui ()

Žemėlapio () funkcijoje naudosime sąrašą ir kelis iteratorius. Funkcija suteikiama žemėlapiui - „myMapFunc“ () gaus elementus iš sąrašo ir Tuple. Elementai bus sujungti pabraukimu (_). Darbinis pavyzdys yra toks, kaip parodyta žemiau:

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

Išvestis:

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

Santrauka

  • „Python map“ () yra įmontuota funkcija, taikanti funkciją visiems iteratoriaus elementams, pateikiamiems kaip įvestis. Pavyzdžiui, iteratorius gali būti sąrašas, paketas, eilutė ir kt., Ir jis pateikia iteruojamą žemėlapio objektą.
  • Funkcija „map ()“ pritaikys nurodytą funkciją visiems iteratoriaus elementams ir grąžins kartojamą žemėlapio objektą, pvz., Atkarpą, sąrašą ir kt.
  • „Python map“ () funkcija yra įmontuota funkcija, ją taip pat galima naudoti su kitomis įmontuotomis „Python“ funkcijomis.
  • „Tuple“ yra „Python“ objektas, turintis kableliais atskirtus elementus ir uždarytus apvaliuose skliaustuose. Pavyzdyje paimsime eilutę su eilutės reikšmėmis. Funkcija, kurią naudosime, pavers nurodytas reikšmes didžiosiomis raidėmis.
  • Žodynas „Python“ yra sukurtas naudojant garbanotus skliaustus ({}). Kadangi žodynas yra iteratorius, jį galite naudoti žemėlapio () funkcijoje.
  • „Python“ rinkinys yra nesutvarkyta elementų kolekcija garbanotuose skliaustuose (()). Kadangi set () taip pat yra iteratorius, galite jį naudoti žemėlapio () funkcijoje.
  • „Python“ sistemoje anoniminėms funkcijoms kurti naudojamos lambda išraiškos (arba lambda formos). Taigi lambda raktinis žodis turi būti naudojamas, kai norite naudoti lambda žemėlapyje ().
  • Į žemėlapio () funkciją galite siųsti daugiau nei vieną iteratorių, ty sąrašą, paketą.

Įdomios straipsniai...