> > Also consider this solution from O'Reilly's Python Cookbook (2nd Ed.) p705 > > > def chop(iterable, length=2): > > return izip(*(iter(iterable),) * length) > > However, chop ignores the remainder of the data in the example.
There is a recipe in the itertools docs which handles the odd-length data at the end: def grouper(n, iterable, padvalue=None): "grouper(3, 'abcdefg', 'x') --> ('a','b','c'), ('d','e','f'), ('g','x','x')" return izip(*[chain(iterable, repeat(padvalue, n-1))]*n) Raymond -- http://mail.python.org/mailman/listinfo/python-list