Funkcia Python map().
mapa() funkcia vracia objekt mapy (čo je iterátor) výsledkov po aplikovaní danej funkcie na každú položku danej iterácie (zoznam, n-tica atď.)
Python map() Syntax funkcie
Syntax : mapa (zábava, iter)
Parametre:
- zábava: Je to funkcia, ktorej mapa prechádza každý prvok danej iterovateľnosti.
- iter: Je iterovateľné, čo sa má zmapovať.
POZNÁMKA: Funkcii map() môžete odovzdať jednu alebo viac iterovateľných.
Vrátenie: Vráti zoznam výsledkov po použití danej funkcie na každú položku danej iterovateľnej položky (zoznam, n-tica atď.)
POZNÁMKA : Vrátená hodnota z map() (mapový objekt) sa potom môže odovzdať funkciám ako list() (na vytvorenie zoznamu), set() (na vytvorenie množiny) .
map() v príkladoch Pythonu
Ukážka map() v Pythone
V tomto príklade demonštrujeme funkciu map() v Python .
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))> |
Výkon
[2, 4, 6, 8]
map() s výrazmi Lambda
Môžeme použiť aj lambda výrazy s mapou na dosiahnutie vyššie uvedeného výsledku. V tomto príklade používame map() s výrazom 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ýkon
[2, 4, 6, 8]
Pridajte dva zoznamy pomocou mapy a lambda
V tomto príklade používame mapu a lambda na pridanie dvoch zoznamov.
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ýkon
[5, 7, 9]
Upravte reťazec pomocou map()
V tomto príklade používame funkciu map() na úpravu reťazca. Môžeme vytvoriť mapu z iterovateľného v Pythone.
Python3
# List of strings> l> => [> 'sat'> ,> 'bat'> ,> 'cat'> ,> 'mat'> ]> # map() can listify the list of strings individually> test> => list> (> map> (> list> , l))> print> (test)> |
Výkon
[['s', 'a', 't'], ['b', 'a', 't'], ['c', 'a', 't'], ['m', 'a', 't']]
Časová zložitosť : O(n), kde n je počet prvkov vo vstupnom zozname l.
Pomocný priestor : O(n)
if Vyhlásenie s mapou()
V príklade funkcia double_even() zdvojnásobuje párne čísla a ponecháva nepárne čísla nezmenené. Funkcia map() sa používa na aplikáciu tejto funkcie na každý prvok číselného zoznamu a v rámci funkcie sa používa príkaz if na vykonanie potrebnej podmienenej 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ýkon
[1, 4, 3, 8, 5]
Časová zložitosť : O(n)
Pomocná zložitosť: O(n)