Курс 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"

  1. Функция __init__ в Python
  2. Инициализация структур данных
  3. Метод join() для объединения строк
  4. Работа с множествами в Python
  5. Логирование с Loguru
  6. Проблемы с именами переменных
  7. Условное добавление элементов в список
  8. Изменения в обработке логических значений
  9. Оператор @ для умножения матриц
  10. Списковое включение в Python
  11. Создание тестовых данных с Faker
  12. Декодирование строк в Python
  13. Удаление ссылок в Python
  14. Работа с YAML в Python: PyYAML.
  15. Округление в Python
  16. Тайное преобразование типа ключа
  17. Сложные типы данных в Python
  18. Изменяемые и неизменяемые объекты
  19. Генерация случайных данных в NumPy
  20. Объединение словарей в Python
  21. Преобразование строк в числа с плавающей запятой
  22. Метод init в Python
  23. Методы сравнения множеств
  24. Итераторы с потерямиZIP
  25. Глобальные переменные в Python
  26. Метод bool() в Python
  27. Форматирование чисел в Python
  28. Декоратор Property в Python
  29. Переопределение метода sub
  30. Метод setdefault() в Python
  31. Возврат нескольких значений
  32. Numpy: разбиение массивов
  33. Хешируемые ключи в Python
  34. Удаление элементов по срезу
  35. Метод rxor для операции побитового исключающего «или»
  36. Удаление элементов из списка в Python.
  37. Генераторы в Python
  38. Работа с deque из collections
  39. Работа с областями видимости переменных
  40. Установка пакета в Python
  41. Сравнение строк в Python
  42. Парсинг веб-страниц с Beautiful Soup
  43. Создание Telegram-бота на Python
  44. Утечки переменных цикла в Python 3.x
  45. Множественное назначение в Python

Marketello читают маркетологи из крутых компаний