[Python-checkins] python/dist/src/Doc/lib libitertools.tex, 1.34,
1.35
rhettinger at users.sourceforge.net
rhettinger at users.sourceforge.net
Sun Mar 27 22:11:48 CEST 2005
Update of /cvsroot/python/python/dist/src/Doc/lib
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17250/Doc/lib
Modified Files:
libitertools.tex
Log Message:
SF patch #1171417: bug fix for islice() in docs
Index: libitertools.tex
===================================================================
RCS file: /cvsroot/python/python/dist/src/Doc/lib/libitertools.tex,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- libitertools.tex 11 Mar 2005 22:17:29 -0000 1.34
+++ libitertools.tex 27 Mar 2005 20:11:43 -0000 1.35
@@ -250,16 +250,14 @@
third line). Equivalent to:
\begin{verbatim}
- def islice(iterable, *args):
+ def islice(iterable, *args):
s = slice(*args)
- next, stop, step = s.start or 0, s.stop, s.step or 1
- for cnt, element in enumerate(iterable):
- if cnt < next:
- continue
- if stop is not None and cnt >= stop:
- break
- yield element
- next += step
+ it = iter(xrange(s.start or 0, s.stop or sys.maxint, s.step or 1))
+ nexti = it.next()
+ for i, element in enumerate(iterable):
+ if i == nexti:
+ yield element
+ nexti = it.next()
\end{verbatim}
If \var{start} is \code{None}, then iteration starts at zero.
More information about the Python-checkins
mailing list