iterator question

John Hicken john.hicken at gmail.com
Tue Sep 26 13:29:56 EDT 2006


Neal Becker 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:
>
> seq = [a,b,c,d,e,f]
> for e in transform (seq, 2):
>   print e
>
> would return
> (a,b)
> (c,d)
> (e,f)

How about this:

def transform(seq,n):
    for k in xrange(0,len(seq),n):
        yield tuple(seq[k:k+n])




More information about the Python-list mailing list