Funkce python map () s PŘÍKLADY

Obsah:

Anonim

Python map () aplikuje funkci na všechny položky iterátoru dané jako vstup. Například iterátor může být seznam, n-tice, sada, slovník, řetězec a vrací iterovatelný mapový objekt. Python map () je integrovaná funkce.

V tomto výukovém programu se naučíte:

  • Syntax:
  • Jak funguje funkce map ()?
  • Používání map () s vestavěnými funkcemi Pythonu
  • Použití map () s řetězcem jako iterátorem
  • Používání map () s listof Numbers
  • Používání map () s Tuple
  • Používání map () se slovníkem
  • Používání map () s Set
  • Použití map () s funkcí Lambda
  • Použití více iterátorů uvnitř funkce map ()

Syntax:

map(function, iterator1,iterator2… iteratorN)

Parametry

Zde jsou dvě důležité

  • funkce: Povinná funkce pro mapování, která se použije na všechny položky dostupné v iterátoru.
  • iterátor: iterovatelný povinný objekt. Může to být seznam, n-tice atd. Funkci map () můžete předat více iteračních objektů.

Návratová hodnota

Funkce map () použije danou funkci na všechny položky uvnitř iterátoru a vrátí iterovatelný objekt mapy, tj. N-tici, seznam atd.

Jak funguje funkce map ()?

Funkce map () bere dva vstupy jako funkci a iterovatelný objekt. Funkce, která je dána map (), je normální funkce a bude iterovat nad všemi hodnotami přítomnými v daném iterovatelném objektu.

Vezměme si například, že máte seznam čísel a chcete najít čtverec každého z čísel.

Pro získání výstupu potřebujeme funkci, která vrátí druhou mocninu daného čísla. Funkce bude následující:

def square(n):return n*n

Seznam položek, které chceme najít, je následující:

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

Nyní použijeme vestavěnou funkci map () python k získání čtverce každé z položek v my_list.

Konečný kód je následující:

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

Výstup:

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

Výstupem funkce map (), jak je vidět na výstupu, je objekt mapy zobrazený na obrazovce jako .

Budete muset iterovat výstup z mapy pomocí smyčky pro smyčku nebo pomocí metody list (), abyste získali konečný výstup. V kódu, který zobrazuje hodnoty uvnitř uvedeného seznamu, jsem použil list ().

Takže pomocí funkce map () můžeme získat druhou mocninu každého čísla. Seznam uvedený na mapě byl [2,3,4,5,6,7,8,9] a pomocí funkce square () byl výstup from map () we got is [4, 9, 16, 25, 36, 49, 64, 81].

Funkční mapa () použije funkční čtverec () na všechny položky v seznamu. Například proměnná my_list a aktualizuje seznam čtvercem každého čísla. Out je uložen v proměnné updated_list.

Používání map () s vestavěnými funkcemi Pythonu

Funkce Python map () je integrovaná funkce a lze ji také použít s dalšími integrovanými funkcemi dostupnými v Pythonu. V příkladu využijeme vestavěnou funkci Python round (), která zaokrouhlí zadané hodnoty.

Příklad:

Seznam, který mám, je my_list = [2.6743,3.63526,4.2325,5,9687967,6,3265,7,6988,8,232,9,6907].

Potřebuji zaokrouhlené hodnoty pro každou položku přítomnou v seznamu. Jako funkci map () použijeme funkci round ().

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

Výstup:

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

Funkce round () se použije na všechny položky v seznamu a vrátí zpět seznam se všemi hodnotami zaokrouhlenými, jak je znázorněno na výstupu.

Použití map () s řetězcem jako iterátorem

Můžeme také použít map () na řetězci. V Pythonu se řetězec chová jako pole, takže jej můžeme snadno použít uvnitř mapy ().

V příkladu máme funkci myMapFunc (), která se stará o převod daného řetězce na velká písmena. Funkce myMapFunc () je dána funkci map (). Funkce mapy se postará o převod řetězce zadaného na velká písmena předáním řetězce 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)

Výstup:

WELCOME TO GURU99 TUTORIALS!

Používání map () s listof Numbers

Chcete-li pracovat se seznamem v mapě (), vezmete seznam čísel a vynásobíte každé číslo v seznamu 10.

Seznam, který použijeme, je: [2,3,4,5,6,7,8,9]. Funkce myMapFunc () se postará o vynásobení daného čísla číslem 10. Funkce je dána k mapování spolu se seznamem.

Příklad:

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

Výstup:

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

Výstup, který vidíme, je, že každé číslo v seznamu je

vynásobeno 10.

Používání map () s Tuple

Tuple je objekt v Pythonu, který má položky oddělené čárkami a uzavřené v kulatých závorkách. V příkladu vezmeme n-tici s hodnotami řetězce. Funkce, kterou použijeme, převede zadané hodnoty na velká písmena.

Příklad:

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

Výstup:

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

Výstup, který dostaneme, je n-tice zpět se všemi hodnotami v něm převedenými na velká písmena.

Používání map () se slovníkem

Slovník v Pythonu je vytvořen pomocí složených závorek ({}). Vzhledem k tomu, že slovník je iterátor, můžete jej využít uvnitř funkce map (). Pojďme nyní použít slovník jako iterátor uvnitř funkce map ().

Následující příklad ukazuje fungování iterátoru slovníku uvnitř mapy ()

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

Výstup:

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

Používání map () s Set

Set in Python is an unordered collection of items in curly brackets (()). Protože set () je také iterátor, můžete jej využít uvnitř funkce map ().

Zde je funkční příklad použití sady jako iterátoru uvnitř mapy ()

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

Výstup:

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

Použití map () s funkcí Lambda

V Pythonu se výrazy lambda používají ke konstrukci anonymních funkcí. Klíčové slovo lambda budete muset použít stejně, jako použijete def k definování normálních funkcí.

V příkladu tedy použijeme funkci lambda uvnitř mapy (). Funkce lambda vynásobí každou hodnotu v seznamu 10.

Příklad:

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

Výstup:

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

Použití více iterátorů uvnitř funkce map ()

Příklad 1: Předání dvou iterátorů seznamu do mapy ()

Můžete odeslat více než jeden iterátor, tj. Seznam, n-tici atd., Všechny současně do funkce map ().

Například pokud chcete přidat dva seznamy. Totéž lze provést pomocí funkce map (). Budeme využívat dva seznamy my_list1 a my_list2.

V níže uvedeném příkladu je první položka v my_list1 přidána k první položce my_list2. Funkce myMapFunc () přebírá položky my_list1 a my_list2 a vrací součet obou.

Zde je funkční příklad přidání dvou daných seznamů pomocí funkce 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))

Výstup:

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

Příklad 2: Předání jedné n-tice a iterátoru seznamu do mapy ()

Budeme využívat seznam a iterátor n-tice ve funkci map (). Funkce je dána mapování - myMapFunc () získá položky ze seznamu a Tuple. Položky budou spojeny podtržítkem (_). Pracovní příklad je uveden níže:

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

Výstup:

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

souhrn

  • Python map () je integrovaná funkce, která aplikuje funkci na všechny položky iterátoru dané jako vstup. Například iterátor může být seznam, n-tice, řetězec atd. A vrací iterovatelný mapový objekt.
  • Funkce map () použije danou funkci na všechny položky uvnitř iterátoru a vrátí iterovatelný objekt mapy, tj. N-tici, seznam atd.
  • Funkce Python map () je integrovaná funkce a lze ji také použít s dalšími integrovanými funkcemi dostupnými v Pythonu.
  • Tuple je objekt v Pythonu, který má položky oddělené čárkami a uzavřené v kulatých závorkách. V příkladu bude mít n-tici s řetězcovými hodnotami. Funkce, kterou použijeme, převede zadané hodnoty na velká písmena.
  • Slovník v Pythonu je vytvořen pomocí složených závorek ({}). Vzhledem k tomu, že slovník je iterátor, můžete jej využít uvnitř funkce map ().
  • Set in Python is an unordered collection of items in curly brackets (()). Protože set () je také iterátor, můžete jej využít uvnitř funkce map ().
  • V Pythonu se výrazy lambda (nebo formy lambda) používají ke konstrukci anonymních funkcí. Klíčové slovo lambda se tedy musí použít, pokud chcete použít lambda uvnitř mapy ().
  • Můžete odeslat více než jeden iterátor, tj. Seznam, n-tici do funkce map ().