Функція Python map().
map() функція повертає об’єкт карти (який є ітератором) результатів після застосування даної функції до кожного елемента даного ітерованого (списку, кортежу тощо)
Синтаксис функції Python map().
Синтаксис : карта (забава, iter)
Параметри:
- весело: Це функція, якій map передає кожен елемент заданого iterable.
- iter: Він ітерований, який повинен бути відображений.
ПРИМІТКА: Ви можете передати один або кілька ітерованих елементів у функцію map().
Повернення: Повертає список результатів після застосування заданої функції до кожного елемента даного ітерованого (списку, кортежу тощо)
ПРИМІТКА : Значення, яке повертає map() (об’єкт карти), потім можна передати таким функціям, як list() (для створення списку), set() (для створення набору).
map() у прикладах Python
Демонстрація map() у Python
У цьому прикладі ми демонструємо функцію map() у 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))> |
Вихід
[2, 4, 6, 8]
map() з лямбда-виразами
Ми також можемо використовувати лямбда-вирази з картою для досягнення вищезазначеного результату. У цьому прикладі ми використовуємо map() з лямбда-виразом.
Python3
# Double all numbers using map and lambda> numbers> => (> 1> ,> 2> ,> 3> ,> 4> )> result> => map> (> lambda> x: x> +> x, numbers)> print> (> list> (result))> |
Вихід
[2, 4, 6, 8]
Додайте два списки за допомогою map і lambda
У цьому прикладі ми використовуємо map і lambda, щоб додати два списки.
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))> |
Вихід
[5, 7, 9]
Змініть рядок за допомогою map()
У цьому прикладі ми використовуємо функцію map(), щоб змінити рядок. Ми можемо створити карту з iterable у Python.
Python3
# List of strings> l> => [> 'sat'> ,> 'bat'> ,> 'cat'> ,> 'mat'> ]> # map() can listify the list of strings individually> test> => list> (> map> (> list> , l))> print> (test)> |
Вихід
[['s', 'a', 't'], ['b', 'a', 't'], ['c', 'a', 't'], ['m', 'a', 't']]
Часова складність : O(n), де n – кількість елементів у вхідному списку l.
Допоміжне приміщення : O(n)
Оператор if із map()
У прикладі функція double_even() подвоює парні числа, а непарні залишає без змін. Функція map() використовується для застосування цієї функції до кожного елемента списку чисел, а оператор if використовується всередині функції для виконання необхідної умовної логіки.
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]> |
Вихід
[1, 4, 3, 8, 5]
Часова складність : O(n)
Допоміжна складність: O(n)