| Store | Cart

Suggesting a new feature - "Inverse Generators"

From: Bengt Richter <b...@oz.net>
Fri, 25 Mar 2005 19:43:14 GMT
On Fri, 25 Mar 2005 08:46:12 -0800, Michael Spencer <mahs at telcopartners.com> wrote:

>Tim Hochberg wrote:>> Jordan Rastrick wrote:>> >>itertools.groupby enables you to do this, you just need to define a suitable >grouping function, that stores its state:>>For example, if short lines should be appended to the previous line:>>from itertools import groupby>linesource = """\>Here is a long line, long line, long line>and this is short>and this is short>Here is a long line, long line, long line>and this is short""".splitlines()>>def record(item, seq = [0]):>     if len(item) > 20:>         seq[0] +=1>     return seq[0]>>>  >>> for groupnum, lines in groupby(linesource, record):>  ...     print "".join(lines)>  ...>  Here is a long line, long line, long lineand this is shortand this is short>  Here is a long line, long line, long lineand this is short>  >>>
Nice, but I think "record" is a bit opaque semantically.
How about group_id or generate_incrementing_unique_id_for_each_group_to_group_by or such?

Regards,
Bengt Richter

Recent Messages in this Thread
Jordan Rastrick Mar 25, 2005 04:04 pm
Jordan Rastrick Mar 25, 2005 04:10 pm
Andrew Koenig Mar 25, 2005 04:18 pm
Jordan Rastrick Mar 25, 2005 04:36 pm
Andrew Koenig Mar 26, 2005 01:40 pm
Tim Hochberg Mar 25, 2005 04:25 pm
Michael Spencer Mar 25, 2005 04:46 pm
Jordan Rastrick Mar 25, 2005 05:23 pm
Michael Spencer Mar 25, 2005 06:41 pm
Serge Orlov Mar 25, 2005 07:14 pm
Jordan Rastrick Mar 26, 2005 06:56 am
Peter Otten Mar 26, 2005 08:04 am
Scott David Daniels Mar 25, 2005 07:34 pm
Michael Spencer Mar 25, 2005 08:07 pm
Scott David Daniels Mar 25, 2005 09:00 pm
Bengt Richter Mar 25, 2005 10:11 pm
Bengt Richter Mar 25, 2005 07:43 pm
Terry Reedy Mar 25, 2005 07:13 pm
Jordan Rastrick Mar 25, 2005 04:49 pm
Diez B. Roggisch Mar 25, 2005 06:13 pm
Jordan Rastrick Mar 26, 2005 04:11 pm
phil...@yahoo.com Mar 27, 2005 03:44 am
Oren Tirosh Mar 27, 2005 06:58 am
Messages in this thread