Определение наличия элементов в объекте map

Будут напечатаны True, True, False. map — одноразовый итератор, и каждая проверка in потребляет его до найденного значения или до конца.

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

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

Будут напечатаны True, True, False. map — одноразовый итератор, и каждая проверка in потребляет его до найденного значения или до конца.

Подробный разбор

Ответ с пояснениями

Условие

Какой вывод получит программа ниже? Пример иллюстрирует проверку присутствия конкретных значений в объекте map, полученном при помощи функции map.

seq = map(abs, [1, 2, -3, -4, 5, -9])
print(4 in seq)
print(5 in seq)
print(2 in seq)

Ответ

Будут напечатаны True, True, False. map — одноразовый итератор, и каждая проверка in потребляет его до найденного значения или до конца.

Первая проверка проходит значения 1, 2, 3, 4 и останавливается на 4. Вторая продолжает с текущей позиции и сразу находит 5. Третья видит только оставшееся 9, затем конец, поэтому 2 уже недоступно.

True
True
False

Для независимых многократных проверок материализуйте значения в list или set заранее. Это требует памяти, но не меняет позицию обхода при каждом поиске. abs преобразует отрицательные исходные числа до сравнения.

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

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

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

Подробнее