Hello Dan,

Yet another option (using itertools.groupby):

from itertools import groupby

class GrouperToggler:
    def __init__(self):
        self.group = 1

    def __call__(self, value):
        # New packet, toggle group
        if value & 0x80:
            self.group = 1 - self.group
        return self.group

def group(items):
    for group, items in groupby(items, GrouperToggler()):
        # groupby return [key, group_iterator]
        yield [item for item in items]

i = [
    0xF0, 1, 2, 3,
    0xF0, 4, 5, 6,
    0xF1, 7, 8,
    0xF2, 9, 10, 11, 12, 13,
    0xF0, 14,
    0xF1, 15
]

for g in group(i):
    print g

HTH,
--
Miki <[EMAIL PROTECTED]>
http://pythonwise.blogspot.com

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to