Курс Python → Функции map, filter и reduce
Функции map(), filter() и reduce() являются важной частью функционального программирования в Python. Они позволяют выполнять операции над элементами итерируемых объектов более элегантным и компактным способом, чем при помощи циклов или списков.
Функция map() применяет заданную функцию ко всем элементам итерируемого объекта и возвращает итератор с результатами. Например, можно применить функцию str.upper() ко всем элементам списка строк для перевода их в верхний регистр.
Функция filter() также принимает функцию и итерируемый объект, но возвращает только те элементы, которые удовлетворяют определенному условию, заданному в функции. Например, можно отфильтровать список чисел, оставив только четные числа.
Функция reduce() отличается от map() и filter() тем, что не возвращает итератор, а одно конечное значение. Она применяет функцию к первым двум элементам, затем к результату и следующему элементу и так далее, пока не останется только одно значение. Например, можно использовать reduce() для вычисления суммы всех элементов списка.
# Пример использования функции map()
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x**2, numbers))
print(squared_numbers)
# Пример использования функции filter()
numbers = [1, 2, 3, 4, 5]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)
# Пример использования функции reduce()
from functools import reduce
numbers = [1, 2, 3, 4, 5]
sum_of_numbers = reduce(lambda x, y: x + y, numbers)
print(sum_of_numbers)
Другие уроки курса "Python"
- Функция __init__ в Python
- Инициализация структур данных
- Метод join() для объединения строк
- Работа с множествами в Python
- Логирование с Loguru
- Проблемы с именами переменных
- Условное добавление элементов в список
- Изменения в обработке логических значений
- Оператор @ для умножения матриц
- Списковое включение в Python
- Создание тестовых данных с Faker
- Декодирование строк в Python
- Удаление ссылок в Python
- Работа с YAML в Python: PyYAML.
- Округление в Python
- Тайное преобразование типа ключа
- Сложные типы данных в Python
- Изменяемые и неизменяемые объекты
- Генерация случайных данных в NumPy
- Объединение словарей в Python
- Преобразование строк в числа с плавающей запятой
- Метод init в Python
- Методы сравнения множеств
- Итераторы с потерямиZIP
- Глобальные переменные в Python
- Метод bool() в Python
- Форматирование чисел в Python
- Декоратор Property в Python
- Переопределение метода sub
- Метод setdefault() в Python
- Возврат нескольких значений
- Numpy: разбиение массивов
- Хешируемые ключи в Python
- Удаление элементов по срезу
- Метод rxor для операции побитового исключающего «или»
- Удаление элементов из списка в Python.
- Генераторы в Python
- Работа с deque из collections
- Работа с областями видимости переменных
- Установка пакета в Python
- Сравнение строк в Python
- Парсинг веб-страниц с Beautiful Soup
- Создание Telegram-бота на Python
- Утечки переменных цикла в Python 3.x
- Множественное назначение в Python















