Курс 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"
- Метод append() для списка
- Сравнение строк в Python
- Применение функции map() в Python
- Выражения-генераторы в Python
- Генераторы в Python
- Управление браузером с Selenium
- Управление пакетами с pip
- Декораторы в Python
- Многострочные комментарии в Python
- Стать Python-разработчиком
- Переопределение метода __eq__
- Искажение имен в Python
- Хешируемые ключи в Python
- Операции с кортежами
- Работа с геоданными с помощью geopy
- Атрибуты массивов в Numpy
- Профилирование с Pandas
- Философия Python
- Функциональное программирование.
- Создание директории в Python
- Создание новых списков в Python
- Переменная Шредингера
- Анализ текста на русском языке с помощью Pymystem3
- Приоритет операций в Python
- Работа с GitHub в Telegram
- Форматирование вывода списков
- Работа с библиотекой xkcd
- Освобождение памяти в Python
- Нахождение максимального значения и его индекса в списке
- Объединение коллекций в Python
- Проектирование Singleton с метаклассом
- Функция all() в Python
- Обработка элементов в Python
- Создание вкладок с TKinter
- Получение текущей даты и времени с помощью datetime
- Избегайте пустого списка
- Codecademy в Telegram
- Создание задания в Cron
- Логирование с Loguru
- Логирование с Logzero
- Нахождение хеша для бесконечности и NaN в Python
- Сложные типы данных в Python
- Печать календаря
- Тип CodeType в Python.
- Декораторы в Python
- Удаление элемента по индексу в Python
- Основы работы со строками в Python















