On Jan 22, 3:20 am, Alan Isaac <[EMAIL PROTECTED]> wrote: > I want to generate sequential pairs from a list. > Here is a way:: > > from itertools import izip, islice > for x12 in izip(islice(x,0,None,2),islice(x,1,None,2)): > print x12 > > (Of course the print statement is just illustrative.) > What is the fastest way? (Ignore the import time.) > > Thanks, > Alan Isaac
Don't know the fastest, but here's a very concise way: from itertools import izip def ipairs(seq): it = iter(seq) return izip(it, it) >>> list(pairs(xrange(10))) [(0, 1), (2, 3), (4, 5), (6, 7), (8, 9)] >>> list(pairs('hello')) [('h', 'e'), ('l', 'l')] -- Arnaud -- http://mail.python.org/mailman/listinfo/python-list