mirror of https://github.com/python/cpython
Add some cross-references to the docs. Simplify the python code equivalent for izip(). Supply an optional argument for the nth() recipe.
This commit is contained in:
parent
3e96e231fb
commit
5894c2b548
|
@ -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
|
iterable if function(item)]`` if function is not ``None`` and ``[item for item
|
||||||
in iterable if item]`` if function is ``None``.
|
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])
|
.. 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
|
default). They have no other explicit functionality; however they are used by
|
||||||
Numerical Python and other third party extensions. Slice objects are also
|
Numerical Python and other third party extensions. Slice objects are also
|
||||||
generated when extended indexing syntax is used. For example:
|
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]]])
|
.. 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
|
and are not allowed to be strings. The fast, correct way to concatenate a
|
||||||
sequence of strings is by calling ``''.join(sequence)``. Note that
|
sequence of strings is by calling ``''.join(sequence)``. Note that
|
||||||
``sum(range(n), m)`` is equivalent to ``reduce(operator.add, range(n), m)``
|
``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
|
.. 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
|
:func:`xrange` is intended to be simple and fast. Implementations may impose
|
||||||
restrictions to achieve this. The C implementation of Python restricts all
|
restrictions to achieve this. The C implementation of Python restricts all
|
||||||
arguments to native C longs ("short" Python integers), and also requires that
|
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, ...])
|
.. function:: zip([iterable, ...])
|
||||||
|
|
|
@ -338,8 +338,7 @@ loops that truncate the stream.
|
||||||
# izip('ABCD', 'xy') --> Ax By
|
# izip('ABCD', 'xy') --> Ax By
|
||||||
iterables = map(iter, iterables)
|
iterables = map(iter, iterables)
|
||||||
while iterables:
|
while iterables:
|
||||||
result = [it.next() for it in iterables]
|
yield yield tuple(map(next, iterables))
|
||||||
yield tuple(result)
|
|
||||||
|
|
||||||
.. versionchanged:: 2.4
|
.. versionchanged:: 2.4
|
||||||
When no iterables are specified, returns a zero length iterator instead of
|
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 function(0), function(1), ..."
|
||||||
return imap(function, count(start))
|
return imap(function, count(start))
|
||||||
|
|
||||||
def nth(iterable, n):
|
def nth(iterable, n, default=None):
|
||||||
"Returns the nth item or None"
|
"Returns the nth item or a default value"
|
||||||
return next(islice(iterable, n, None), None)
|
return next(islice(iterable, n, None), default)
|
||||||
|
|
||||||
def quantify(iterable, pred=bool):
|
def quantify(iterable, pred=bool):
|
||||||
"Count how many times the predicate is true"
|
"Count how many times the predicate is true"
|
||||||
|
|
|
@ -1200,9 +1200,9 @@ Samuele
|
||||||
... "Return function(0), function(1), ..."
|
... "Return function(0), function(1), ..."
|
||||||
... return imap(function, count(start))
|
... return imap(function, count(start))
|
||||||
|
|
||||||
>>> def nth(iterable, n):
|
>>> def nth(iterable, n, default=None):
|
||||||
... "Returns the nth item or None"
|
... "Returns the nth item or a default value"
|
||||||
... return next(islice(iterable, n, None), None)
|
... return next(islice(iterable, n, None), default)
|
||||||
|
|
||||||
>>> def quantify(iterable, pred=bool):
|
>>> def quantify(iterable, pred=bool):
|
||||||
... "Count how many times the predicate is true"
|
... "Count how many times the predicate is true"
|
||||||
|
|
Loading…
Reference in New Issue