itertools.accumulate
Создаёт итератор по элементам, к которым применена функция аккумулирования.
itertools.accumulate(iterable[, func=operator.add, *, initial=None])
-> iterator
iterable -- Объект, поддерживающий итерирование, к элементам которого требуется применить функцию аккумулирования. Элементы объекта могут быть любых типов, поддерживаемых упомянутой функцией.
+py3.3 func=operator.add -- Функция аккумулирования (по умолчанию используется функция сложения). Должна принимать два аргумента: 1. аккумулированное на данный момент значение; 2. значение текущего элемента.
+py3.8 initial=None -- Начальное значение. Если указано, то итератор вернёт его первым.
+py3.3 func=operator.add -- Функция аккумулирования (по умолчанию используется функция сложения). Должна принимать два аргумента: 1. аккумулированное на данный момент значение; 2. значение текущего элемента.
+py3.8 initial=None -- Начальное значение. Если указано, то итератор вернёт его первым.
from itertools import accumulate
from operator import mul
list(accumulate([1, 2, 3])) # [1, 3, 6]
list(accumulate([1, 2, 3], initial=10)) # [10, 11, 13, 16]
def myfunc(accumulated, current):
return accumulated + current * 2
list(accumulate([1, 2, 3], func=myfunc)) # [1, 5, 11]
my_list = [2, 1, 2, 0, 5, 6]
list(accumulate(my_list, mul)) # [2, 2, 4, 0, 0, 0]
list(accumulate(my_list, min)) # [2, 1, 1, 0, 0, 0]
list(accumulate(my_list, max)) # [2, 2, 2, 2, 5, 6]
Синонимы поиска: itertools.accumulate, itertools, accumulate
В разделе «itertools»:
itertools.chain
itertools.compress
itertools.count
itertools.cycle
itertools.dropwhile
itertools.filterfalse
itertools.groupby
itertools.ifilter
itertools.ifilterfalse
itertools.imap
itertools.islice
itertools.product
itertools.repeat
itertools.starmap
itertools.takewhile
itertools.tee
На заметку
У нас есть представительство во ВКонтакте. Ссылка в самом низу страницы.