Tengo un generador de Python que puede llamar a sí mismo para obtener más elementos para ceder. Se ve así:generador de Python para ceder todo a partir de otra llamada del generador
def gen(list):
# ...
if list:
for x in gen(list[1:]):
yield x
Mi pregunta se refiere a las dos últimas líneas: ¿hay una manera más concisa de expresar esto? Espero algo como esto (entendiendo que esto no es válido en Python como está):
def gen(list):
# ...
if list:
yield each in gen(list[1:])
No entiendo exactamente lo que se supone que debe hacer, originalmente pensé que era solo una forma ingenua de convertir una lista en un generador, pero estaba equivocado. ¿Podrías iluminarme? – Davy8
Corrígeme si me equivoco, pero ese código parece que siempre devolverá una lista vacía. Supongo que debe haber otros rendimientos en el comentario? – Dunes
@Dunes: sí, hay otros rendimientos en el comentario. –