Примените mapper к каждому элементу и соберите результаты в новый список. В Python для этого подходит list comprehension.
Функция, преобразующая элементы списка
Примените mapper к каждому элементу и соберите результаты в новый список. В Python для этого подходит list comprehension.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Задача состоит в том, что требуется написать функцию, принимающую два аргумента: список и функцию‑трансформер. Функция должна последовательно применить переданную функцию‑трансформер к каждому элементу исходного списка и вернуть новый список, содержащий полученные результаты.
def transform_list(data, mapper):
# реализация
pass
Ответ
Примените mapper к каждому элементу и соберите результаты в новый список. В Python для этого подходит list comprehension.
def transform_list(data, mapper):
return [mapper(item) for item in data]
Порядок элементов сохраняется, пустой список даёт []. Например, transform_list([1,2,3], lambda x: x*2) вернёт [2,4,6]. Сама функция не меняет исходный контейнер, но переданный mapper может мутировать содержащиеся в нём объекты — чистоту callback надо оговаривать отдельно. При исключении mapper выполнение прекращается и ошибка передаётся вызывающему коду.