¿Existe una expresión generadora sencilla que pueda producir elementos infinitos?
Ésta es una cuestión puramente teórica. No hay necesidad de una respuesta "práctica" aquí :)
Por ejemplo, es fácil hacer un generador finito:
my_gen = (0 for i in xrange(42))
Sin embargo, para hacer uno infinito, necesito "contaminar" mi espacio de nombres con una función falsa:
def _my_gen():
while True:
yield 0
my_gen = _my_gen()
Hacer las cosas en un archivo separado y importhacerlas más tarde no cuenta.
También sé que itertools.repeathace exactamente esto. Tengo curiosidad por saber si hay una solución de una sola línea sin eso.
del _my_gensi no quieres confundir a los dos
my_geny luego hazlomy_gen = my_gen().