tgoop.com/BookPython/3503
Create:
Last Update:
Last Update:
«Reduce» — это функция высшего порядка, которая рекурсивно обрабатывает итерируемый объект, применяя некоторую операцию к следующему элементу и уже вычисленному значению. Также вы можете знать её под названиями «fold», «inject», «accumulate» или другими.
Использование reduce
с result = result + element
даёт сумму всех элементов, result = min(result, element)
возвращает минимум, а result = element
позволяет получить последний элемент последовательности.
В Python функция reduce
доступна (начиная с Python 3, она была перемещена в functools.reduce
):
from functools import reduce
print(reduce(lambda s, i: s + i, range(10))) # 45
print(reduce(lambda s, i: min(s, i), range(10))) # 0
print(reduce(lambda s, i: i, range(10))) # 9
Также, если вам нужны простые лямбда-функции, такие как
lambda a, b: a + b
, в Python есть модуль operator
, который упрощает их использование:
from operator import add
print(reduce(add, range(10))) # 45
👉@BookPython
BY Библиотека Python разработчика | Книги по питону
Share with your friend now:
tgoop.com/BookPython/3503