Kelson Zawack <[email protected]> writes:
> The example I have in mind is list like [2,2,2,2,2,2,1,3,3,3,3] where
> you want to loop until you see not a 2 and then you want to loop until
> you see not a 3.
"loop until you see not a 2" - you mean yield 2s as long as there are 2s
to be consumed?
"loop until you see not a 3" - you mean yield 3s as long as there are 3s
to be consumed?
So in this case you'd see just the initial 2s? (Since the 1 immediately
follows the 2s and is "not a 3")
def twos_then_threes(iterable):
i = iter(iterable)
n = i.next()
while n==2:
yield n
n=i.next()
while n==3:
yield n
n=i.next()
so... no need for any has_next()
or do I misunderstand what you want to do? Probably this can be done
with some itertools.groupby() cunningness...
--
http://mail.python.org/mailman/listinfo/python-list