Junior
130
questionbank
Расскажи о функции reduce в Python.
Ответ от нейросети
sobes.tech AI
Функция reduce из модуля functools применяет функцию последовательно к элементам итерации. Она принимает два обязательных аргумента: функцию с двумя аргументами и итерируемый объект. Опционально можно передать начальное значение.
Пример:
from functools import reduce
# Функция для суммирования двух чисел
def add(x, y):
return x + y
# Суммирование элементов списка
numbers = [1, 2, 3, 4, 5]
result = reduce(add, numbers)
# result будет равен: 1 + 2 = 3, 3 + 3 = 6, 6 + 4 = 10, 10 + 5 = 15
С начальным значением:
from functools import reduce
def multiply(x, y):
return x * y
# Перемножение элементов списка с начальным значением 10
numbers = [1, 2, 3, 4, 5]
result = reduce(multiply, numbers, 10)
# result будет равен: 10 (initial) * 1 = 10, 10 * 2 = 20, 20 * 3 = 60, 60 * 4 = 240, 240 * 5 = 1200
Основное назначение reduce - свернуть итерируемый объект к единственному значению.
В современных версиях Python часто предпочтительнее использовать списковые включения, генераторы или функции sum, max, min, all, any для достижения похожего результата в более читаемом виде. Однако reduce остается мощным инструментом для более сложных операций свертки.