From 6e35394ed5f01bd7b06a3366cadaeb8f765851ef Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Sat, 4 Dec 2010 23:42:12 +0000 Subject: [PATCH] Mention itertools.accumulate(). --- Doc/library/random.rst | 1 + Doc/whatsnew/3.2.rst | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/Doc/library/random.rst b/Doc/library/random.rst index ba369e15ab..33ab5e5b49 100644 --- a/Doc/library/random.rst +++ b/Doc/library/random.rst @@ -274,6 +274,7 @@ change across Python versions, but two aspects are guaranteed not to change: * The generator's :meth:`random` method will continue to produce the same sequence when the compatible seeder is given the same seed. +.. _random-examples: Examples and Recipes ==================== diff --git a/Doc/whatsnew/3.2.rst b/Doc/whatsnew/3.2.rst index 6e1daf9f28..3c913a120c 100644 --- a/Doc/whatsnew/3.2.rst +++ b/Doc/whatsnew/3.2.rst @@ -405,7 +405,8 @@ New, Improved, and Deprecated Modules >>> get_phone_number.cache_clear() - (Contributed by Raymond Hettinger.) + (Contributed by Raymond Hettinger and incorporating design ideas from + Jim Baker, Miki Tebeka, and Nick Coglan.) * The :func:`functools.wraps` decorator now adds a :attr:`__wrapped__` attribute pointing to the original callable function. This allows wrapped functions to @@ -416,6 +417,22 @@ New, Improved, and Deprecated Modules (By Nick Coghlan and Terrence Cole; :issue:`9567`, :issue:`3445`, and :issue:`8814`.) +* The :mod:`itertools` module has a new function, :func:`~itertools.accumulate` + modeled on APL's *scan* and on Numpy's *accumulate* function: + + >>> list(accumulate(8, 2, 50)) + [8, 10, 60] + + >>> prob_dist = [0.1, 0.4, 0.2, 0.3] + >>> list(accumulate(prob_dist)) # cumulative probability distribution + [0.1, 0.5, 0.7, 1.0] + + For an example using :func:`~itertools.accumulate`, see the :ref:`examples for + the random module `. + + (Contributed by Raymond Hettinger and incorporating design suggestions + from Mark Dickinson.) + * The :mod:`nntplib` module gets a revamped implementation with better bytes / unicode semantics as well as more practical APIs. These improvements break compatibility with the nntplib version in Python 3.1, which was -- 2.40.0