iterating over a list as if it were a circular list
svenito at gmail.com
Thu Mar 7 10:27:42 CET 2013
Stupid keyboard shortcuts, sent it too early. Apologies
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 and carry on until all
the points have been populated.
So far I've got (pseudo code)
i = 0
for point in points:
put N[i] at point
if i > len(N):
i = 0
is this the most pythonic way to accomplish this?
Additionally, what if I wanted to pull a random element from N, but I want
to ensure all elements from N have been used before starting to pick
already chosen random elements again.
So far I thought of duplicating the list and removing the randomly chosen
elements from the list, and when it's empty, re-copying it. But that seems
a little "wrong" if you know what I mean.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-list