[Python-checkins] python/dist/src/Doc/lib libcollections.tex, 1.4, 1.5

rhettinger at users.sourceforge.net rhettinger at users.sourceforge.net
Sat Feb 28 21:15:58 EST 2004


Update of /cvsroot/python/python/dist/src/Doc/lib
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24444/Doc/lib
Modified Files:
	libcollections.tex 
Log Message:
Improvements to collections.deque():
* Add doctests for the examples in the library reference.
* Add two methods, left() and right(), modeled after deques in C++ STL.
* Apply the new method to asynchat.py.
* Add comparison operators to make deques more substitutable for lists.
* Replace the LookupErrors with IndexErrors to more closely match lists.
Index: libcollections.tex
===================================================================
RCS file: /cvsroot/python/python/dist/src/Doc/lib/libcollections.tex,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** libcollections.tex	7 Feb 2004 21:12:59 -0000	1.4
--- libcollections.tex	29 Feb 2004 02:15:55 -0000	1.5
***************
*** 55,66 ****
 \end{methoddesc}
 
 \begin{methoddesc}{pop}{}
 Remove and return an element from the right side of the deque.
! If no elements are present, raises a \exception{LookupError}.
 \end{methoddesc}
 
 \begin{methoddesc}{popleft}{}
 Remove and return an element from the left side of the deque.
! If no elements are present, raises a \exception{LookupError}. 
 \end{methoddesc}
 
--- 55,76 ----
 \end{methoddesc}
 
+ \begin{methoddesc}{left}{}
+ Return leftmost element from the deque.
+ If no elements are present, raises a \exception{IndexError}. 
+ \end{methoddesc}
+ 
 \begin{methoddesc}{pop}{}
 Remove and return an element from the right side of the deque.
! If no elements are present, raises a \exception{IndexError}.
 \end{methoddesc}
 
 \begin{methoddesc}{popleft}{}
 Remove and return an element from the left side of the deque.
! If no elements are present, raises a \exception{IndexError}. 
! \end{methoddesc}
! 
! \begin{methoddesc}{right}{}
! Return the rightmost element from the deque.
! If no elements are present, raises a \exception{IndexError}. 
 \end{methoddesc}
 
***************
*** 81,94 ****
 >>> d = deque('ghi') # make a new deque with three items
 >>> for elem in d: # iterate over the deque's elements
! 	print elem.upper()
! 
! 	
 G
 H
 I
 >>> d.append('j') # add a new entry to the right side
 >>> d.appendleft('f') # add a new entry to the left side
 >>> d # show the representation of the deque
 deque(['f', 'g', 'h', 'i', 'j'])
 >>> d.pop() # return and remove the rightmost item
 'j'
--- 91,104 ----
 >>> d = deque('ghi') # make a new deque with three items
 >>> for elem in d: # iterate over the deque's elements
! ... print elem.upper()	
 G
 H
 I
+ 
 >>> d.append('j') # add a new entry to the right side
 >>> d.appendleft('f') # add a new entry to the left side
 >>> d # show the representation of the deque
 deque(['f', 'g', 'h', 'i', 'j'])
+ 
 >>> d.pop() # return and remove the rightmost item
 'j'
***************
*** 97,100 ****
--- 107,115 ----
 >>> list(d) # list the contents of the deque
 ['g', 'h', 'i']
+ 
+ >>> d.left() # peek at leftmost item
+ 'g'
+ >>> d.right() # peek at rightmost item
+ 'i'
 >>> list(reversed(d)) # list the contents of a deque in reverse
 ['i', 'h', 'g']
***************
*** 110,122 ****
 >>> d
 deque(['g', 'h', 'i', 'j', 'k', 'l'])
 >>> deque(reversed(d)) # make a new deque in reverse order
 deque(['l', 'k', 'j', 'i', 'h', 'g'])
 >>> d.clear() # empty the deque
 >>> d.pop() # cannot pop from an empty deque
- 
 Traceback (most recent call last):
 File "<pyshell#6>", line 1, in -toplevel-
 d.pop()
! LookupError: pop from an empty deque
 
 >>> d.extendleft('abc') # extendleft() reverses the input order
--- 125,137 ----
 >>> d
 deque(['g', 'h', 'i', 'j', 'k', 'l'])
+ 
 >>> deque(reversed(d)) # make a new deque in reverse order
 deque(['l', 'k', 'j', 'i', 'h', 'g'])
 >>> d.clear() # empty the deque
 >>> d.pop() # cannot pop from an empty deque
 Traceback (most recent call last):
 File "<pyshell#6>", line 1, in -toplevel-
 d.pop()
! IndexError: pop from an empty deque
 
 >>> d.extendleft('abc') # extendleft() reverses the input order


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /