Найти тему
Python For You

Функция reduce из модуля functools

Функция reduce модуля functools позволяет применить указанную функцию к парам значений из итерируемого объекта.

Рассмотрим примеры использования данной полезной функции.

Пример 1. Применение функции mult последовательно к каждым двум элементам списка lst
Пример 1. Применение функции mult последовательно к каждым двум элементам списка lst

В первом примере мы берем функцию перемножения mult, перемножаем элементы списка lst: 1 * 2 = 2, затем результат умножения первых двух элементов умножаем на 3-й элемент списка - и так до конца списка lst

Теперь более интересный случай

Пример 2. Использование лямбда функции как аргумента для reduce
Пример 2. Использование лямбда функции как аргумента для reduce

Для краткости здесь мы используем анонимную функцию, чтобы получить разницу двух чисел.

Но помимо этого, мы передали reduce третий аргумент, равный 150. Это так называемый ititializer, с него и начнется цикл вычитаний:

150 - 100 = 50 (вычли первый элемент списка **lst_2**),

50 - 10 = 40 (из результата вычли второй элемент списка **lst_2**) и т.д.

Спасибо за прочтение!
Также разбираю задачи по Python
здесь