[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