]> granicus.if.org Git - python/commitdiff
Mention itertools.accumulate().
authorRaymond Hettinger <python@rcn.com>
Sat, 4 Dec 2010 23:42:12 +0000 (23:42 +0000)
committerRaymond Hettinger <python@rcn.com>
Sat, 4 Dec 2010 23:42:12 +0000 (23:42 +0000)
Doc/library/random.rst
Doc/whatsnew/3.2.rst

index ba369e15ab98a26b168d174d49ebc0dcdccf5482..33ab5e5b49fff495be0f76b25313c185ef3dd057 100644 (file)
@@ -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
 ====================
index 6e1daf9f28f09d8bee7be3f78b0930ab0df2f46c..3c913a120cf4dd8607d88e17790fb9af531a5ba8 100644 (file)
@@ -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 <random-examples>`.
+
+  (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