Ответ
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).
Видео-ответы
▶
Cобеседование на Middle в Go с тимлидом из X5: лайв-кодинг и теория
▶
Собеседование на Golang 260к
▶
Открытое интервью на Middle Go-разработчика
▶
Открытое интервью на Middle Go-разработчика
▶
Открытое интервью на Go-разработчика
▶
Открытое интервью на Middle Go разработчика
▶
Тестовое собеседование на позицию Go-разработчика / Ingternet
▶
Открытое интервью на Middle Go-разработчика
▶
Открытое собеседование на Golang разработчика
▶
Открытое собеседование на Go-разработчика
▶
Собеседование на middle Go-разработчика | Эйч Навыки
▶
FRONTEND СОБЕС ЗП 220к
▶
СОБЕСЕДОВАНИЕ FRONTEND ЗП 220к JS, TS задачи
▶
Открытое собеседование на Go-разработчика, часть 1
▶
Job interview на вакансию Golang Developer middle // Курс «Golang Developer. Professional»
▶
Открытое собеседование на Go-разработчика | Анонс менторской программы
▶
Открытое собеседование на Go-разработчика | Тренировочные интервью
▶
#5 Мидл в 18 лет? Собеседование на Frontend Middle разработчика
▶
Сложное Frontend Собеседование + Live Coding. Promises, This, Memo, Generics, Solid, HTTP
▶
16 лет и 4 года опыта в программировании?
▶
Открытое интервью на Go разработчика | Эйч Навыки
▶
Фронтенд собеседование - Junior Frontend Developer. Реальный собес. Актуальные вопросы на собесе
▶
Mock-собеседование по Go от Team Lead Ozon
▶
ТОП 10 ВОПРОСОВ АНАЛИТИКУ / СОБЕСЕДОВАНИЕ 2024 / SQL PYTHON BI
▶
Подловил на коллекциях! Собеседование по Java #7 - Никита
▶
Мок-собеседование Junior Android developer
▶
Тестовое собеседование Java разработчика #24 - Никита Ким
▶
Собеседование на позицию Java junior #2 - Петр