Курс 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"
- Транспонирование 2D-массива с помощью zip
- Обрезка изображения с Pillow
- Pillow: работа с изображениями
- Аннотации типов в Python
- Методы classmethod и staticmethod
- Генератор списка с условием if
- Генерация QR-кодов с Python
- Метод setdefault() в Python
- Тернарный оператор в Python
- Метод split() для разделения строк
- Библиотека Rich: форматирование текста
- Блок else в Python
- Работа с Telegram API на Python
- Применение команды break
- Протокол управления контекстом
- Класс-оболочка для словарей
- Регистрация на хакатоне
- Строковое представление объектов
- Генераторы списков
- globals и locals
- Присвоение и ссылки
- Установка и использование TensorFlow
- Область видимости переменных
- Python: цикл for и оператор присваивания
- Объединение списков с использованием itertools.chain
- Создание итерируемых объектов
- kwargs в Python
- Модуль Antigravity в Python 3
- Python 3.12: переиспользование кавычек
- Работа с коллекциями Python
- Отрицательные индексы списков
- Чтение бинарного файла в Python.
- Преобразование чисел в Python
- Логические значения в Python
- Установка и использование Python-dateutil
- Профилирование с Pandas
- Хэш-функции в Python
- Преобразование числа в список цифр
- Вставка переменных в шаблоны Flask
- Назначение максимального и минимального значения переменной в Python.
- Проверка элементов списка условием
- Аннотации типов в Python
- Оператор деления для класса Rational
- Класс UserDict: дополнительная функциональность
- Печать комбинаций в Python с Itertools
- Различия символов в Python
- Реализация метода __abs__ в Python
- Нахождение самого длинного слова в списке с помощью max
- Создание Telegram-бота на Python















