Есть ли выражение для бесконечного генератора?

Существует ли прямое выражение генератора, которое может выдавать бесконечные элементы?

Это чисто теоретический вопрос. Здесь нет необходимости в "практическом" ответе :)


Например, легко сделать конечный генератор:

my_gen = (0 for i in xrange(42))

Однако, чтобы создать бесконечный, мне нужно «засорить» свое пространство имен фиктивной функцией:

def _my_gen():
    while True:
        yield 0
my_gen = _my_gen()

Выполнение действий в отдельном файле и import -ing позже не в счет.


Я также знаю, что itertools.repeat делает именно это. Мне любопытно, есть ли однострочное решение без этого.

104
задан Thomas Baruchel 18 November 2017 в 07:10
поделиться