John Salerno wrote:
> Michael Spencer wrote:
>
> > itertools.groupby makes this very straightforward:
>
> I was considering this function, but then it seemed like it was only
> used for determing consecutive numbers like 1, 2, 3 -- not consecutive
> equivalent numbers like 1, 1, 1. But is that not right?
data = [1, 1, 1, 2, 2, 3, 4, 4, 3, 2, 2, 1, 1, 2, 2,4, 2, 2]
from itertools import groupby
for k, g in groupby( data ):
print k, list(g)
1 [1, 1, 1]
2 [2, 2]
3 [3]
4 [4, 4]
3 [3]
2 [2, 2]
1 [1, 1]
2 [2, 2]
4 [4]
2 [2, 2]
for k, g in groupby( data, lambda x: x<2 ):
print k, list(g)
True [1, 1, 1]
False [2, 2, 3, 4, 4, 3, 2, 2]
True [1, 1]
False [2, 2, 4, 2, 2]
Gerard
--
http://mail.python.org/mailman/listinfo/python-list