map(), filter() и reduce() — это функции высшего порядка, которые обрабатывают итерируемые объекты, применяя функцию к их элементам. Каждая из них служит своей определённой цели.
Назначение: Преобразовать каждый элемент в итерируемом объекте.
map(func, iterable) применяет func к каждому элементу и возвращает новый итерируемый объект с преобразованными значениями.
map(lambda x: x ** 2, [1, 2, 3]) # → [1, 4, 9]
Назначение: Выбрать элементы, которые удовлетворяют условию.
filter(func, iterable) оставляет только те элементы, для которых func возвращает True.
filter(lambda x: x > 2, [1, 2, 3]) # → [3]
Назначение: Агрегировать все элементы в одно значение.
reduce(func, iterable) последовательно применяет func к парам элементов до тех пор, пока не останется одно значение. В отличие от двух предыдущих, её нужно импортировать из functools.
from functools import reduce
reduce(lambda x, y: x + y, [1, 2, 3]) # → 6
map() — возвращает преобразованный итерируемый объект той же длиныfilter() — возвращает подмножество исходного итерируемого объектаreduce() — возвращает одно агрегированное значениеФункция map() возвращает итерируемый объект с той же длиной, что и входные данные, где каждый элемент преобразован применённой функцией.
Новый — ещё не проверен сообществом
Вы