Курс 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"
- Метод __imod__ для Python
- Добавление кнопки в tkinter
- Метод __float__ в Python
- Получение имени функции с помощью inspect
- Раздувающийся словарь в Python
- Объединение итераторов
- Фильтрация списка от «ложных» значений
- Анонимные функции в Python
- Удаление ключей из словаря
- Участие в сообществе @selectel
- Запуск внешнего кода в Jupyter
- Срезы в Python
- Операции с кортежами
- Философия Python
- Метод ior для битовых операций
- Оператор объединения словарей
- Определение индекса элемента списка
- Считывание бинарного файла в Python
- Поиск индекса элемента
- Библиотека schedule: планировщик задач
- Управление мышью и клавиатурой с Pyautogui
- Проверка индексов коллекции
- Проверка переменных окружения в Python
- UserList в Python: Описание и примеры использования
- Генерация QR-кодов с Python
- Создание циклической ссылки
- Аннотации типов в Python
- Метод rsub для пользовательских чисел
- Разделение строки с помощью re.split()
- Оператор is в Python
- Поиск подстроки в строке
- Управление доступом к модулю
- Избегание изменяемых аргументов
- Объединение словарей в Python
- Открытие, чтение и закрытие файла
- Использование функции enumerate()
- Обязательные аргументы в Python
- Распаковка аргументов в Python
- Глобальные переменные в Python
- Использование эмодзи в Python
- Основные функции и модули Python
- Отладчик pdb: начало работы
- Проверка версии Python
- Сохранение Unicode в JSON
- Открытие и редактирование скриптов Python
- Обработка ошибок в JSON данных
- Оператор in для Python















