iterating over a list as if it were a circular list

Roy Smith roy at
Thu Mar 7 14:37:07 CET 2013

In article <mailman.2993.1362648214.2939.python-list at>,
 Sven <svenito at> wrote:

> I was wondering what the best approach for the following might be.
> Say you have a list P of points and another list N of other items. You can
> always assume that
> len(N) <= len(P)
> Now I would like to iterate over P and place one N at each point. However
> if you run out of N I'd like to restart from N[0] and carry on until all
> the points have been populated.
> So far I've got
> for point in points:

I'm not completely following what you're trying to do, but I think what 
you're looking for is some combination of zip() and itertools.cycle().

pairs = zip(P, cycle(N))

More information about the Python-list mailing list