Как работать с функцией map() в Python

Статьи

Как работать с функцией map() в Python

Автор: Рамис, 10 октября 2021

map() используется для применения функции к каждому элементу итерируемого объекта. Функция может быть любая, которая принимает аргументы.

Здесь мы рассмотрим три способа работы с map: с функцией lambda (анонимная функция), со встроенной, и с определяемой пользователем функцией.

Функция map имеет следующий синтаксис:

map(function, iterable, [iterable 2, iterable 3, ...])

Встроенные функции

В стандартной библиотеке Python много доступных функций, которые можно использовать с map. Все они перечислены в документации Python.

Предположим, есть список строк, каждый из элементов которого нужно превратить в число. Это запросто можно сделать с помощью функции map и встроенной функции int.

>>> elements = ['1','2','3','4']
>>> list(map(int, elements))
[1, 2, 3, 4]
Или предположим, у нас есть список слов, в котором каждый элемент нужно перевести в нижний регистр:

>>> elements = ['ПРИВЕТ','Hello']
>>> list(map(str.lower, elements))
['привет', 'hello']

Функции Lambda

Вместе с функцией map можно использовать и анонимные функции. Это довольно частый сценарий.

Синтаксис map() с простой lambda функцией где мы удвоим каждый элемент в списке:

>>> nums = [100, 200, 300, 400, 500]
>>> list(map(lambda x: x*2, nums))
[200, 400, 600, 800, 1000]

Или же у нас есть список пользователей, и мы хотим с помощью метода title сделать первую букву имени заглавной:

>>> users= ['артем', 'андрей', 'алексей']
>>> list(map(lambda x: x.title(), users))
['Артем', 'Андрей', 'Алексей']

Обычные функции

Определим простую функцию calc() с двумя параметрами x и y, которая принимает в качестве аргументов два числа, складывает их, и возвращать результат.

>>> def calc(x,y):
...     return x+y

Если функция, которую использует map, ожидает два аргумента, то передаются два списка

>>> a = [2,4,6,8,10]
>>> b = [1,3,5,7,9]
>>> list(map(calc, a,b))
[3, 7, 11, 15, 19]

Заключение

Сегодня мы рассмотрели много разных способах использования функции map в Python. Теперь мы можем избежать написания громоздкого кода используя map с собственными, встроенными, и с lambda функциями.

Комментарии

Markdown
Войти

Меню

Объявление

Нашли на сайте баг OR ошибку OR фичу? Прошу Вас сообщить мне через обратную связь, или комментарий.

Есть идеи для сайта? Свяжитесь со мной через форму обратной связи. Наш разработчик всегда рад готов добавить что то новое.