logo

Funkce map() v Pythonu

mapa() funkce vrací mapový objekt (což je iterátor) výsledků po aplikaci dané funkce na každou položku dané iterovatelnosti (seznam, n-tice atd.)

Python map() Syntaxe funkce

Syntax : mapa (zábava, iter)

Parametry:



  • zábava: Je to funkce, které mapa předává každý prvek dané iterovatelnosti.
  • iter: Je iterovatelné, co má být mapováno.

POZNÁMKA: Funkci map() můžete předat jednu nebo více iterovatelných.

Vrácení: Vrátí seznam výsledků po aplikaci dané funkce na každou položku dané iterovatelnosti (seznam, n-tice atd.)

POZNÁMKA : Vrácená hodnota z map() (mapový objekt) pak může být předána funkcím jako list() (pro vytvoření seznamu), set() (pro vytvoření sady) .

map() v příkladech Pythonu

Ukázka map() v Pythonu

V tomto příkladu demonstrujeme funkci map() v Krajta .

Python3




# Python program to demonstrate working> # of map.> # Return double of n> def> addition(n):> >return> n>+> n> # We double all numbers using map()> numbers>=> (>1>,>2>,>3>,>4>)> result>=> map>(addition, numbers)> print>(>list>(result))>

kolik filmů s nemožnými úkoly existuje
>

>

Výstup

[2, 4, 6, 8]>

map() s výrazy Lambda

Můžeme také použít lambda výrazy s mapou k dosažení výše uvedeného výsledku. V tomto příkladu používáme map() s výrazem lambda.

Python3




# Double all numbers using map and lambda> numbers>=> (>1>,>2>,>3>,>4>)> result>=> map>(>lambda> x: x>+> x, numbers)> print>(>list>(result))>

>

>

Výstup

číst soubory json
[2, 4, 6, 8]>

Přidat dva seznamy pomocí mapy a lambda

V tomto příkladu používáme mapu a lambda k přidání dvou seznamů.

Python3




# Add two lists using map and lambda> numbers1>=> [>1>,>2>,>3>]> numbers2>=> [>4>,>5>,>6>]> result>=> map>(>lambda> x, y: x>+> y, numbers1, numbers2)> print>(>list>(result))>

>

>

Výstup

[5, 7, 9]>

Upravte řetězec pomocí map()

V tomto příkladu používáme funkci map() k úpravě řetězce. Můžeme vytvořit mapu z iterovatelného v Pythonu.

Python3




# List of strings> l>=> [>'sat'>,>'bat'>,>'cat'>,>'mat'>]> # map() can listify the list of strings individually> test>=> list>(>map>(>list>, l))> print>(test)>

>

řetězec.obsahuje java
>

Výstup

[['s', 'a', 't'], ['b', 'a', 't'], ['c', 'a', 't'], ['m', 'a', 't']]>

Časová složitost : O(n), kde n je počet prvků ve vstupním seznamu l.
Pomocný prostor : O(n)

if Příkaz s map()

V příkladu funkce double_even() zdvojnásobuje sudá čísla a ponechává lichá čísla beze změny. Funkce map() se používá k aplikaci této funkce na každý prvek číselného seznamu a v rámci funkce se používá příkaz if k provedení nezbytné podmíněné logiky.

Python3




# Define a function that doubles even numbers and leaves odd numbers as is> def> double_even(num):> >if> num>%> 2> =>=> 0>:> >return> num>*> 2> >else>:> >return> num> # Create a list of numbers to apply the function to> numbers>=> [>1>,>2>,>3>,>4>,>5>]> # Use map to apply the function to each element in the list> result>=> list>(>map>(double_even, numbers))> # Print the result> print>(result)># [1, 4, 3, 8, 5]>

>

>

Výstup

[1, 4, 3, 8, 5]>

Časová složitost : O(n)
Pomocná složitost: Na)