On Mar 3, 1:27 am, Paul Rubin <http://[EMAIL PROTECTED]> wrote: > "Tool69" <[EMAIL PROTECTED]> writes: > > I've tried something like this to have a cyclic iterator without > > sucess: > > > def iterate_mylist(my_list): > > k = len((my_list) > > i=0 > > while i <= k : > > yield my_list[i] > > i += 1 > > i = 0 > > yield my_list[0] > > > I missed something, but I don't know what exactly. > > As Bruno says, you can use itertools.cycle, but the problem above is > that you're not looping repeatedly through the list; you yield all the > elements, then yield the first element again, then stop. So for > ['a','b','c'] you'd yield the sequence a,b,c,a. > > I'd rewrite the above something like: > > def iterate_mylist(my_list): > while True: > for m in my_list: > yield m > > This just loops through the list over and over again. > Another problem is that it should be i < k, not i <= k.
-- http://mail.python.org/mailman/listinfo/python-list