Generador de concatenación y artículo.

Tengo un generador (números) y un valor (número). Me gustaría iterar sobre estos como si fueran una secuencia:

i for i in tuple(my_generator) + (my_value,) 

El problema es que, en la medida en que lo entiendo, esto crea 3 tuplas solo para descartarlas inmediatamente y también copia elementos en “my_generator” una vez.

Mejor enfoque sería:

 def con(seq, item): for i in seq: yield seq yield item i for i in con(my_generator, my_value) 

Pero me preguntaba si es posible hacerlo sin esa definición de función

itertools.chain trata varias secuencias como una sola secuencia.

Así que puedes usarlo como:

 import itertools def my_generator(): yield 1 yield 2 for i in itertools.chain(my_generator(), [5]): print i 

que daría salida:

 1 2 5 

itertools.chain()

Prueba itertools.chain(*iterables) . Docs aquí: http://docs.python.org/library/itertools.html#itertools.chain