Какие аргументы можно передать в map()?

Правильный вариант: одну функцию и произвольное число итерируемых объектов, но минимум один. На каждом шаге функция получает по элементу из каждого iterable.

Короткий ответ

Что ответить на собеседовании

Правильный вариант: одну функцию и произвольное число итерируемых объектов, но минимум один. На каждом шаге функция получает по элементу из каждого 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.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее