Есть ли прямое выражение, которое может создать бесконечный итератор?
Это чисто теоретический вопрос. Здесь не нужен практический ответ :)
Например, легко использовать выражение генератора для создания конечного итератора:
my_gen = (0 for i in xrange(42))
Однако, чтобы сделать бесконечное, мне нужно загрязнить мое пространство имен фиктивной функцией:
def _my_gen():
while True:
yield 0
my_gen = _my_gen()
Делать что-то в отдельном файле и import
-инг позже не считается.
Я также знаю, что itertools.repeat
делает именно это. Мне любопытно, есть ли однострочное решение без этого.
my_gen
, а затем выполнитеmy_gen = my_gen()
. - person 6502   schedule 21.04.2011del _my_gen
, если не хотите путать два - person John La Rooy   schedule 21.04.2011