itertools.accumulate()
itertools.accumulate() is a Python function in the Itertools Module category. Returns accumulated sums (or results of binary function) for each element. The syntax is itertools.accumulate(iterable, func=operator.add). Parameters: iterable, func. Returns: Iterator. A typical example: list(accumulate([1,2,3,4])) # [1,3,6,10]
list(accumulate([1,2,3], operator.mul)) # [1,2,6]. A close sibling is itertools.chain(), which creates an iterator that returns elements from the first iterable until exhausted, then proceeds to the next. A close sibling is itertools.chain.from_iterable(), which alternative chain that takes a single iterable of iterables. A close sibling is itertools.product(), which cartesian product of input iterables (like nested for-loops). A close sibling is itertools.permutations(), which returns all possible r-length ordered arrangements of elements. More about this category: Iterator building blocks — chain, product, permutations, combinations, groupby. For a broader walkthrough, read the Itertools Module guide. Related Itertools Module entries: itertools.chain(), itertools.chain.from_iterable(), itertools.product(), itertools.permutations(), itertools.combinations(), itertools.combinations_with_replacement().