[Python-checkins] python/dist/src/Doc/whatsnew whatsnew24.tex, 1.16, 1.17

akuchling at users.sourceforge.net akuchling at users.sourceforge.net
Sat Dec 6 18:19:25 EST 2003


Update of /cvsroot/python/python/dist/src/Doc/whatsnew
In directory sc8-pr-cvs1:/tmp/cvs-serv30514
Modified Files:
	whatsnew24.tex 
Log Message:
Add groupby()
Index: whatsnew24.tex
===================================================================
RCS file: /cvsroot/python/python/dist/src/Doc/whatsnew/whatsnew24.tex,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** whatsnew24.tex	26 Nov 2003 18:05:26 -0000	1.16
--- whatsnew24.tex	6 Dec 2003 23:19:23 -0000	1.17
***************
*** 267,270 ****
--- 267,298 ----
 (Contributed by Yves Dionne.)
 
+ \item The \module{itertools} module gained a
+ \function{groupby(\var{iterable}\optional{, \var{func}})} function,
+ inspired by the GROUP BY clause from SQL.
+ \var{iterable} returns a succession of elements, and the optional
+ \var{func} is a function that takes an element and returns a key
+ value; if omitted, the key is simply the element itself.
+ \function{groupby()} then groups the elements into subsequences
+ which have matching values of the key, and returns a series of 2-tuples
+ containing the key value and an iterator over the subsequence.
+ 
+ Here's an example. The \var{key} function simply returns whether a
+ number is even or odd, so the result of \function{groupby()} is to
+ return consecutive runs of odd or even numbers.
+ 
+ \begin{verbatim}
+ >>> import itertools
+ >>> L = [2,4,6, 7,8,9,11, 12, 14]
+ >>> for key_val, it in itertools.groupby(L, lambda x: x % 2):
+ ... print key_val, list(it)
+ ... 
+ 0 [2, 4, 6]
+ 1 [7]
+ 0 [8]
+ 1 [9, 11]
+ 0 [12, 14]
+ >>> 
+ \end{verbatim}
+ 
 \item A new \function{getsid()} function was added to the
 \module{posix} module that underlies the \module{os} module.


More information about the Python-checkins mailing list

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