Правильный вариант: одну функцию и произвольное число итерируемых объектов, но минимум один. На каждом шаге функция получает по элементу из каждого iterable.
Какие аргументы можно передать в map()?
Правильный вариант: одну функцию и произвольное число итерируемых объектов, но минимум один. На каждом шаге функция получает по элементу из каждого iterable.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Какие аргументы можно передать в map()?
- Одну функцию, один итерируемый объект и произвольное число аргументов функции
- Одну функцию, произвольное число итерируемых объектов и словарь аргументов
- Одну функцию и произвольное число итерируемых объектов
- Одну функцию, произвольное число итерируемых объектов и произвольное число аргументов функции
- Произвольное число функций и итерируемых объектов
Ответ
Правильный вариант: одну функцию и произвольное число итерируемых объектов, но минимум один. На каждом шаге функция получает по элементу из каждого iterable.
result = list(map(lambda a, b: a + b, [1, 2], [10, 20]))
# [11, 22]
В Python 3 map возвращает ленивый итератор. Число переданных элементов должно соответствовать параметрам вызываемой функции. По умолчанию обработка завершается по самому короткому iterable. Дополнительные постоянные аргументы не передаются отдельным списком после iterable: используют замыкание или functools.partial. В новых версиях есть дополнительные параметры поведения, но среди предложенных вариантов верным остаётся третий.
Источник: docs.python.org.