Проверяет понимание функций высшего порядка и различия между преобразованием и фильтрацией данных.
map применяется для преобразования каждого элемента последовательности, а filter — для отбора элементов по условию. map возвращает результат применения функции к каждому элементу, а filter возвращает только те элементы, для которых функция вернула True. Обе функции возвращают итераторы. Обычно их можно заменить comprehension.
Функции map и filter используются для обработки последовательностей, но выполняют разные задачи.
map — применяет функцию к каждому элементу последовательности.filter — оставляет только те элементы, которые удовлетворяют условию.
numbers = [1, 2, 3]
result = map(lambda x: x * 2, numbers)
print(list(result)) # [2, 4, 6]
Каждый элемент преобразуется.
numbers = [1, 2, 3, 4]
result = filter(lambda x: x % 2 == 0, numbers)
print(list(result)) # [2, 4]
Элементы отбираются по условию.
Основная разница:
map меняет данные
filter уменьшает набор данных
На практике чаще используют comprehension, потому что код читается проще:
[x * 2 for x in numbers]
[x for x in numbers if x % 2 == 0]
map используется для преобразования элементов, filter — для фильтрации. В современном Python чаще применяют comprehension, но понимание этих функций важно.