Функция reduce() в Python:
Функция reduce принимает 2 аргумента: функцию и последовательность. reduce() последовательно применяет функцию-аргумент к элементам списка, возвращает единичное значение. Обратите внимание в Python 2.x функция reduce доступна как встроенная, в то время, как в Python 3 она была перемещена в модуль functools.
Вычисление суммы всех элементов списка при помощи reduce:
?
1
2
3
4
5
6
7 |
from functools import reduce
items = [1,2,3,4,5]
sum_all = reduce(lambda x,y: x + y, items)
print (sum_all)
15 |
Вычисление наибольшего элемента в списке при помощи reduce:
?
1
2
3
4
5
6 |
from functolls import reduce
items = [1, 24, 17, 14, 9, 32, 2]
all_max = reduce(lambda a,b: a if (a > b) else b, items)
print (all_max)
32
>>> l_res
[10, 67, 4]
>>> prod_all = reduce(lambda x, y: x*y, l_res) |