itertools question
pataphor
pataphor at gmail.com
Fri May 15 08:03:38 EDT 2009
Neal Becker wrote:
> Is there any canned iterator adaptor that will
>
> transform:
> in = [1,2,3....]
>
> into:
> out = [(1,2,3,4), (5,6,7,8),...]
>
> That is, each time next() is called, a tuple of the next N items is
> returned.
Here's one that abuses a for loop:
from itertools import islice
def grouper(seq,n):
it = iter(seq)
for x in it:
yield (x,) + tuple(islice(it,n-1))
def test():
L = range(11)
n = 3
for x in grouper(L,n):
print x
if __name__ == '__main__':
test()
BTW what's up with the followup to gmane?
P.
More information about the Python-list
mailing list