Усім добрий день. Сьогодні я би хотів вам розповісти про функцію map в python.
Функція map виконує одну й ту ж дію для всіх елементів іиеруємого об’єкта та повертає новий ітеруємий об’єкт.
Функція map приймає щонайменше 2 аргументи. Перший - функція, що буде викликатися для всіх елементів ітеруємого об’єкта, а другий - сам ітеруємий об’єкт:
map(function, iterable[element1, element2, elementN])
Розглянемо на прикладі:
my_list = [1, 2, 3, 4]
my_list = list(map(str, my_list))
print(my_list)
#output:
#['1', '2', '3', '4']
В даному випадку функція map кожен елемент списку my_list передала функції str в якості аргументу. Також варто не забути привести наш вираз до списку(list), бо інакше нам буде повернутий map object, а не список.
Оскільки функція map повертає не список, а ітератор, то його можна використати лише раз:
some_list = ['1', '2', '3', '4']
some_list = map(int, some_list)
print(list(some_list))
print(list(some_list))
#[1, 2, 3, 4]
#[]
Ось ще приклад застосування функції map:
my_list = list(map(lambda x, y: x * y, [1, 2, 3], [4, 5, 6]))
print(my_list)
#[4, 10, 18]
В даному випадку цей код ідентичний цьому:
my_list = [lambda x, y: x * y, zip([1, 2, 3], [4, 5, 6])]
print(my_list)
#[4, 10, 18]
На цьому все, сподіваюсь ви зрозуміли як працює функція map, гарного вам дня 😊.