Функция accumulate() в Python
avatar
7 | (offline)
❤️‍🔥Notehunter Developer
Добавлено:
Категория: Основы «Python»
Комментариев: 0

В этом уроке по Python, мы рассмотрим функцию accumulate() из встроенной библиотеки itertools. Данная функция создает итератор, который возвращает накопленные суммы или накопленные результаты функции переданной в виде необязательного аргумента.

Синтаксис:

import itertools

itertools.accumulate(iterable[, func, *, initial=None])

Аргументы:

  • iterable - итерируемая последовательность,
  • func - функция, принимающая два аргумента,
  • initial=None - начальное значение.

Если задан необязательный аргумент func, это должна быть функция, принимающая два аргумента. Первый аргумент функции — накопленный результат, второй аргумент функции — следующий элемент iterable объекта.

Элементы итерируемой последовательности могут быть любого типа, которые могут быть приняты в качестве аргументов функции func. Например, в стандартной операции сложения добавляемые элементы могут быть любого типа, включая десятичные или рациональные числа.

Известно, что возвращаемое количество элементов совпадает с количеством входных элементов в итераторе iterable. Но мы можем регулировать это с помощью аргумента initial, указав с какого начального значения начинать, но и в этом случае итератор будет иметь один дополнительный элемент.

Пример:

import operator
from itertools import accumulate

list_data = [23, 30, 28, 23, 22, 21, 10, 15, 16, 35]

# Получаем произведение с помощью операторной функции
print(list(accumulate(list_data, operator.mul)))

# Находим максимальное число
print(list(accumulate(list_data, max)))

Результат:

>>> [23, 690, 19320, 444360, 9775920, 205294320, 2052943200, 30794148000, 492706368000, 17244722880000]
>>> [23, 30, 30, 30, 30, 30, 30, 30, 30, 35]

Похожая функция: Функция reduce() в Python

Теги записи: Python, Основы Python, Числа, accumulate(),
Комментарии к статье 0
Комментариев нет
Форма добавления комментария (необходима регистрация)