Funkcja map() w Pythonie

mapa() funkcja zwraca obiekt mapy (który jest iteratorem) wyników po zastosowaniu danej funkcji do każdego elementu danej iterowalności (lista, krotka itp.)

Składnia funkcji map() w Pythonie

Składnia : mapa(zabawa, iter)

Parametry:

  • zabawa: Jest to funkcja, do której map przekazuje każdy element zadanej iteracji.
  • iter: To, co ma zostać zmapowane, jest iterowalne.

NOTATKA: Do funkcji map() możesz przekazać jedną lub więcej iteracji.

Zwroty: Zwraca listę wyników po zastosowaniu danej funkcji do każdego elementu danej iteracji (lista, krotka itp.)

NOTATKA : Wartość zwróconą przez map() (obiekt mapy) można następnie przekazać do funkcji takich jak list() (aby utworzyć listę), set() (aby utworzyć zbiór).

map() w przykładach Pythona

Demonstracja map() w Pythonie

W tym przykładzie demonstrujemy funkcję map() w Pyton .

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

Wyjście

[2, 4, 6, 8] 

map() z wyrażeniami Lambda

Możemy również skorzystać wyrażenia lambda z mapą, aby osiągnąć powyższy wynik. W tym przykładzie używamy map() z wyrażeniem lambda.

Python3




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

Wyjście

[2, 4, 6, 8] 

Dodaj dwie listy za pomocą mapy i lambdy

W tym przykładzie używamy map i lambda, aby dodać dwie listy.

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

Wyjście

[5, 7, 9] 

Zmodyfikuj ciąg za pomocą map()

W tym przykładzie używamy funkcji map() do modyfikacji ciągu. Możemy stworzyć mapę z iterowalnego obiektu w Pythonie.

Python3




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

Wyjście

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

Złożoność czasowa : O(n), gdzie n jest liczbą elementów na liście wejściowej l.
Przestrzeń pomocnicza : NA)

if Instrukcja z map()

W przykładzie funkcja double_even() podwaja liczby parzyste i pozostawia liczby nieparzyste bez zmian. Funkcja map() służy do stosowania tej funkcji do każdego elementu listy liczb, a instrukcja if jest używana w obrębie funkcji w celu wykonania niezbędnej logiki warunkowej.

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

Wyjście

[1, 4, 3, 8, 5] 

Złożoność czasowa : NA)
Złożoność pomocnicza: NA)