Reduce Python: Simple Tips for Streamlining Your Code
Reduce - это функция из модуля functools в Python, которая позволяет объединить элементы списка с помощью заданной функции. Она получает два аргумента: функцию и список.
Функция, заданная в reduce(), должна принимать два аргумента (как и в функции map) и возвращать одно значение.
Пример использования reduce:
python
from functools import reduce
lst = [1, 2, 3, 4, 5]
# Функция, которая суммирует два элемента списка
def add(x, y):
return x + y
# Применяем функцию add к списку lst с помощью reduce()
result = reduce(add, lst) # 15
print(result)
В приведенном выше примере reduce() использует функцию add() для последовательной суммы элементов списка lst.
reduce() может также использовать лямбда-функцию для выполнения нескольких операций:
python
result = reduce(lambda x, y: x * y, lst) # 120
Здесь мы передаем lambda-функцию в reduce(), чтобы умножить все элементы списка.
Reduce также может принимать необязательный третий аргумент - начальное значение. Если указано, reduce() использует его в качестве первого аргумента при первом вызове функции. В противном случае первый элемент списка будет использоваться в качестве начального значения.
python
result = reduce(lambda x, y: x - y, lst, 10) # -3
В этом примере мы используем список lst и вычитаем каждое последующее число из предыдущего, начиная с начального значения 10.