[Python-Dev] [Python-checkins] cpython (2.7): Add an itertools recipe showing how to use t.__copy__().

Brett Cannon brett at yvrsfo.ca
Sun Mar 31 23:11:35 CEST 2013


"Upcomping" -> "upcoming"
On Mar 31, 2013 2:38 AM, "raymond.hettinger" <python-checkins at python.org>
wrote:

> http://hg.python.org/cpython/rev/1026b1d47f30
> changeset:   83037:1026b1d47f30
> branch:      2.7
> parent:      83034:e044d22d2f61
> user:        Raymond Hettinger <python at rcn.com>
> date:        Sat Mar 30 23:37:57 2013 -0700
> summary:
>   Add an itertools recipe showing how to use t.__copy__().
>
> files:
>   Doc/library/itertools.rst |  12 ++++++++++++
>   1 files changed, 12 insertions(+), 0 deletions(-)
>
>
> diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst
> --- a/Doc/library/itertools.rst
> +++ b/Doc/library/itertools.rst
> @@ -828,6 +828,18 @@
>         indices = sorted(random.randrange(n) for i in xrange(r))
>         return tuple(pool[i] for i in indices)
>
> +   def tee_lookahead(t, i):
> +       """Inspect the i-th upcomping value from a tee object
> +          while leaving the tee object at its current position.
> +
> +          Raise an IndexError if the underlying iterator doesn't
> +          have enough values.
> +
> +       """
> +       for value in islice(t.__copy__(), i, None):
> +           return value
> +       raise IndexError(i)
> +
>  Note, many of the above recipes can be optimized by replacing global
> lookups
>  with local variables defined as default values.  For example, the
>  *dotproduct* recipe can be written as::
>
> --
> Repository URL: http://hg.python.org/cpython
>
> _______________________________________________
> Python-checkins mailing list
> Python-checkins at python.org
> http://mail.python.org/mailman/listinfo/python-checkins
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20130331/1a50c4d7/attachment.html>


More information about the Python-Dev mailing list