Expand the groupby() example to:

* show that it is typically used with sorted data,
* highlight commonalities with SQL's groupby and Unix's uniq,
* demonstrate valid uses for the default identity function,
* add some excitement by suggesting the range of possibilities.
This commit is contained in:
Raymond Hettinger 2003-12-12 13:13:47 +00:00
parent 1f84ed0d8a
commit feb78c94fa
1 changed files with 15 additions and 0 deletions

View File

@ -294,6 +294,21 @@ return consecutive runs of odd or even numbers.
>>>
\end{verbatim}
Like its SQL counterpart, \function{groupby()} is typically used with
sorted input. The logic for \function{groupby()} is similar to the
\UNIX{} \code{uniq} filter which makes it handy for eliminating,
counting, or identifying duplicate elements:
\begin{verbatim}
>>> word = 'abracadabra'
>>> [k for k, g in groupby(list.sorted(word))]
['a', 'b', 'c', 'd', 'r']
>>> [(k, len(list(g))) for k, g in groupby(list.sorted(word))]
[('a', 5), ('b', 2), ('c', 1), ('d', 1), ('r', 2)]
>>> [k for k, g in groupby(list.sorted(word)) if len(list(g)) > 1]
['a', 'b', 'r']
\end{verbatim}
\item A new \function{getsid()} function was added to the
\module{posix} module that underlies the \module{os} module.
(Contributed by J. Raynor.)