From: Raymond Hettinger Date: Wed, 1 Dec 2010 10:49:19 +0000 (+0000) Subject: Add recipe to itertools doc. X-Git-Tag: v3.2b1~145 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5ce0aa236f5417a5be6fba80c6aaa38ed456ef59;p=python Add recipe to itertools doc. --- diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst index f612a1c4de..bab168034e 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