George Sakkis wrote: > Neil Cerutti wrote: > > >>On 2006-09-26, Neal Becker <[EMAIL PROTECTED]> wrote: >> >>>Any suggestions for transforming the sequence: >>> >>>[1, 2, 3, 4...] >>>Where 1,2,3.. are it the ith item in an arbitrary sequence >>> >>>into a succession of tuples: >>> >>>[(1, 2), (3, 4)...] >>> >>>In other words, given a seq and an integer that specifies the >>>size of tuple to return, then for example: >> >>It turns out there's a itertools recipe to do this; the last one >>in the itertools recipe book: >> >>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) > > > That's not quite the same as the previous suggestions; if the last > tuple is shorter than n, it pads the last tuple with padvalue. The OP > didn't mention if he wants that or he'd rather have a shorter last > tuple. > In which case why not go in for a bit of requirements gold-plating and add a keyword Boolean argument that allows you to specify which behaviour you want. Or, alternatively, let the OP make sense of the suggestions already made.
regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Skype: holdenweb http://holdenweb.blogspot.com Recent Ramblings http://del.icio.us/steve.holden -- http://mail.python.org/mailman/listinfo/python-list