]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Add some cross-references to the docs. Simplify the python code equivalent for izip...
authorRaymond Hettinger <python@rcn.com>
Thu, 19 Feb 2009 05:38:53 +0000 (05:38 +0000)
committerRaymond Hettinger <python@rcn.com>
Thu, 19 Feb 2009 05:38:53 +0000 (05:38 +0000)
Doc/library/functions.rst
Doc/library/itertools.rst
Lib/test/test_itertools.py

index 0977c91e52ed1704274d64cb476b43ff415d6ab9..1e5b7597c6673dc6a5b9aa173f856dd916c75765 100644 (file)
@@ -397,6 +397,9 @@ available.  They are listed here in alphabetical order.
    iterable if function(item)]`` if function is not ``None`` and ``[item for item
    in iterable if item]`` if function is ``None``.
 
+   See :func:`itertools.filterfalse` for the complementary function that returns
+   elements of *iterable* for which *function* returns false.
+
 
 .. function:: float([x])
 
@@ -1077,7 +1080,8 @@ available.  They are listed here in alphabetical order.
    default).  They have no other explicit functionality; however they are used by
    Numerical Python and other third party extensions.  Slice objects are also
    generated when extended indexing syntax is used.  For example:
-   ``a[start:stop:step]`` or ``a[start:stop, i]``.
+   ``a[start:stop:step]`` or ``a[start:stop, i]``.  See :func:`itertools.islice`
+   for an alternate version that returns an iterator.
 
 
 .. function:: sorted(iterable[, cmp[, key[, reverse]]])
@@ -1160,6 +1164,7 @@ available.  They are listed here in alphabetical order.
    and are not allowed to be strings.  The fast, correct way to concatenate a
    sequence of strings is by calling ``''.join(sequence)``. Note that
    ``sum(range(n), m)`` is equivalent to ``reduce(operator.add, range(n), m)``
+   To add floating point values with extended precision, see :func:`math.fsum`\.
 
    .. versionadded:: 2.3
 
@@ -1323,7 +1328,9 @@ available.  They are listed here in alphabetical order.
       :func:`xrange` is intended to be simple and fast. Implementations may impose
       restrictions to achieve this. The C implementation of Python restricts all
       arguments to native C longs ("short" Python integers), and also requires that
-      the number of elements fit in a native C long.
+      the number of elements fit in a native C long.  If a larger range is needed,
+      an alternate version can be crafted using the :mod:`itertools` module:
+      ``islice(count(start, step), (stop-start+step-1)//step)``.
 
 
 .. function:: zip([iterable, ...])
index a349ef9a160a5761bc5a471a8d1f373a80a1a63c..fbf672c5a92918dadb9ecde56a6394f4dd1fda3f 100644 (file)
@@ -338,8 +338,7 @@ loops that truncate the stream.
           # izip('ABCD', 'xy') --> Ax By
           iterables = map(iter, iterables)
           while iterables:
-              result = [it.next() for it in iterables]
-              yield tuple(result)
+              yield yield tuple(map(next, iterables))
 
    .. versionchanged:: 2.4
       When no iterables are specified, returns a zero length iterator instead of
@@ -613,9 +612,9 @@ which incur interpreter overhead.
        "Return function(0), function(1), ..."
        return imap(function, count(start))
 
-   def nth(iterable, n):
-       "Returns the nth item or None"
-       return next(islice(iterable, n, None), None)
+   def nth(iterable, n, default=None):
+       "Returns the nth item or a default value"
+       return next(islice(iterable, n, None), default)
 
    def quantify(iterable, pred=bool):
        "Count how many times the predicate is true"
index 91939e247e25b87006d87d6245061d3ba1e6d40f..d297848774812d285e1ca3d493e7bd8e74870334 100644 (file)
@@ -1200,9 +1200,9 @@ Samuele
 ...     "Return function(0), function(1), ..."
 ...     return imap(function, count(start))
 
->>> def nth(iterable, n):
-...     "Returns the nth item or None"
-...     return next(islice(iterable, n, None), None)
+>>> def nth(iterable, n, default=None):
+...     "Returns the nth item or a default value"
+...     return next(islice(iterable, n, None), default)
 
 >>> def quantify(iterable, pred=bool):
 ...     "Count how many times the predicate is true"