From 5ce0aa236f5417a5be6fba80c6aaa38ed456ef59 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Wed, 1 Dec 2010 10:49:19 +0000 Subject: Add recipe to itertools doc. --- Doc/library/itertools.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst index f612a1c..bab1680 100644 --- a/Doc/library/itertools.rst +++ b/Doc/library/itertools.rst @@ -653,6 +653,14 @@ which incur interpreter overhead. pending -= 1 nexts = cycle(islice(nexts, pending)) + def accumulate(iterable): + 'Emit a running total' + # accumulate([1,2,3,4,5]) --> 1 3 6 10 15 + total = 0 + for element in iterable: + total += element + yield total + def partition(pred, iterable): 'Use a predicate to partition entries into false entries and true entries' # partition(is_odd, range(10)) --> 0 2 4 6 8 and 1 3 5 7 9 -- cgit v0.12