class StoppableIterator(object):

    def __init__(self, iterable):
        self._iter = iter(iterable)
self._stop = False

def __iter__(self):
    return self

def stop(self):
    self._stop = True

def next(self):
    if self._stop:
        raise StopIteration
return next(self._iter)
Отправка StopIteration в цикл for из-за пределов итератора