Ответ
map — это функция высшего порядка, которая применяет заданную функцию-трансформатор к каждому элементу входной коллекции (итерируемого объекта) и возвращает итератор с результатами. Это фундаментальная операция в функциональном программировании для преобразования данных без использования явных циклов for.
Синтаксис (на примере Python):
map(function, iterable, ...)
Примеры использования:
- С анонимной функцией (lambda):
numbers = [1, 2, 3, 4] squared_iterator = map(lambda x: x ** 2, numbers) print(list(squared_iterator)) # [1, 4, 9, 16] - Со встроенной функцией:
str_numbers = ["1", "2", "3"] int_numbers = list(map(int, str_numbers)) # Преобразование строк в целые числа print(int_numbers) # [1, 2, 3] - С несколькими итерируемыми объектами:
a = [1, 2, 3] b = [10, 20, 30] sums = list(map(lambda x, y: x + y, a, b)) print(sums) # [11, 22, 33]
Важные особенности:
- Ленивые вычисления:
mapвозвращает итератор, а не список. Элементы вычисляются по мере необходимости (при итерации), что экономит память. Для получения списка требуется явное преобразованиеlist(). - Альтернатива — списковые включения (list comprehensions): В Python для простых преобразований часто используется более питонический синтаксис:
[x**2 for x in numbers].mapможет быть эффективнее с уже существующими функциями (например,int,str.upper). - Аналоги в других языках: Концепция
mapприсутствует практически во всех современных языках (JavaScript:Array.map(), Java:Stream.map(), C#:Select()в LINQ).
Видео-ответы
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶