Курс 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"
- Обратный список чисел
- Извлечение новостей с newspaper3k
- kwargs в Python
- Просмотр внешнего файла в Python
- Оптимизация гиперпараметров в Python
- Многострочные строки в Python
- Установка пакета в Python
- Поиск частого элемента
- Списки: объединение, изменение
- Модуль pprint
- Применение функции к списку
- Удаление ключа из словаря
- Объединение словарей в Python 3.5+
- Получение текущей директории
- Копирование объектов в Python
- Изменение списка срезом
- Форматирование строк с f-строками
- Цепные операции в Python
- Обработка ошибок в Python
- Преобразование вложенного списка
- Lambda-функция в Python: использование с map() и sum()
- Работа со строками в Python
- Метод append() для списка
- Переопределение метода divmod
- Создание пользовательской коллекции в Python
- Получение текущего времени в Python
- Обработка исключений в Python
- Объединение, распаковка и деструктуризация
- Оператор «or» в Python
- Подсказки типов в Python
- Retrying в Python: повторные вызовы
- Генераторы в Python
- Сортировка элементов в Python
- Экспорт данных с помощью writefile
- Присвоение и ссылки
- Оператор += для объединения строк
- Блок else в Python
- Инициализация переменных
- Оптимизация памяти с __slots__
- Логические значения в Python
- Метод rlshift для битового сдвига
- Вычисление времени выполнения
- Явный импорт переменных
- Создание класса в Python
- Декораторы в Python
- Создание GUI на Tkinter
- Измерение времени выполнения кода
- Возврат нескольких значений















