[Python-checkins] python/dist/src/Doc/lib libitertools.tex, 1.12, 1.12.6.1

rhettinger at users.sourceforge.net rhettinger at users.sourceforge.net
Thu Aug 7 20:41:55 EDT 2003


Update of /cvsroot/python/python/dist/src/Doc/lib
In directory sc8-pr-cvs1:/tmp/cvs-serv28009

Modified Files:
      Tag: release23-maint
	libitertools.tex 
Log Message:
Improve docs:
* Simplify the pure python examples
* Add a quantify() example



Index: libitertools.tex
===================================================================
RCS file: /cvsroot/python/python/dist/src/Doc/lib/libitertools.tex,v
retrieving revision 1.12
retrieving revision 1.12.6.1
diff -C2 -d -r1.12 -r1.12.6.1
*** libitertools.tex	22 Jul 2003 06:33:13 -0000	1.12
--- libitertools.tex	8 Aug 2003 02:41:53 -0000	1.12.6.1
***************
*** 79,83 ****
    Does not currently support python long integers.  Often used as an
    argument to \function{imap()} to generate consecutive data points.
!   Also, used in \function{izip()} to add sequence numbers.  Equivalent to:
  
    \begin{verbatim}
--- 79,83 ----
    Does not currently support python long integers.  Often used as an
    argument to \function{imap()} to generate consecutive data points.
!   Also, used with \function{izip()} to add sequence numbers.  Equivalent to:
  
    \begin{verbatim}
***************
*** 104,110 ****
               yield element
               saved.append(element)
!          if len(saved) == 0:
!              return
!          while True:
               for element in saved:
                     yield element
--- 104,108 ----
               yield element
               saved.append(element)
!          while saved:
               for element in saved:
                     yield element
***************
*** 125,135 ****
       def dropwhile(predicate, iterable):
           iterable = iter(iterable)
!          while True:
!              x = iterable.next()
!              if predicate(x): continue # drop when predicate is true
               yield x
-              break
-          while True:
-              yield iterable.next()
    \end{verbatim}
  \end{funcdesc}
--- 123,132 ----
       def dropwhile(predicate, iterable):
           iterable = iter(iterable)
!          for x in iterable:
!              if not predicate(x):
!                  yield x
!                  break
!          for x in iterable:
               yield x
    \end{verbatim}
  \end{funcdesc}
***************
*** 210,216 ****
       def islice(iterable, *args):
           s = slice(*args)
!          next = s.start or 0
!          stop = s.stop
!          step = s.step or 1
           for cnt, element in enumerate(iterable):
               if cnt < next:
--- 207,211 ----
       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:
***************
*** 279,285 ****
    \begin{verbatim}
       def takewhile(predicate, iterable):
!          iterable = iter(iterable)
!          while True:
!              x = iterable.next()
               if predicate(x):
                   yield x
--- 274,278 ----
    \begin{verbatim}
       def takewhile(predicate, iterable):
!          for x in iterable:
               if predicate(x):
                   yield x
***************
*** 358,361 ****
--- 351,358 ----
  ...     "Returns True if pred(x) is False for every element in the iterable"
  ...     return True not in imap(pred, seq)
+ 
+ >>> def quantify(pred, seq):
+ ...     "Count how many times the predicate is True in the sequence"
+ ...     return sum(imap(pred, seq))
  
  >>> def padnone(seq):





More information about the Python-checkins mailing list