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)