Уступая, пока все необходимые значения не будут получены, есть ли способ сделать срез, чтобы стать ленивым

Есть ли способ прекратить давать, когда генератор не закончил значения и все необходимые результаты были прочитаны? Я имею в виду, что генератор дает значения, даже не делая StopIteration.

Например, это никогда не останавливается: (ПЕРЕСМОТРЕНО)

from random import randint
def devtrue():
    while True:
        yield True

answers=[False for _ in range(randint(100,100000))]
answers[::randint(3,19)]=devtrue()
print answers

Я нашел этот код, но пока не понимаю, как его применять в этом случае:http://code.activestate.com/recipes/576585-lazy-recursive-generator-function/

Ответы на вопрос(4)

Ваш ответ на вопрос