Grouping lists
aurora00 at gmail.com
aurora00 at gmail.com
Fri Sep 9 13:30:22 EDT 2005
I wasn't sure of what itertools.groupby() is good for. But it serves
your purpose.
>>> lst = [1,1,1,1,3,5,1,1,1,1,7,7,7]
>>>
>>> import itertools
>>> i = 0
>>> groups = []
>>> for k, g in itertools.groupby(lst):
... l = len(list(g))
... if l == 1:
... groups.append(i)
... else:
... groups.append((i, i+l-1))
... i += l
...
>>> groups
[(0, 3), 4, 5, (6, 9), (10, 12)]
More information about the Python-list
mailing list