Restablecer un objeto generador en Python: explorar alternativas
Los generadores proporcionan una manera eficiente de iterar sobre una secuencia de valores sin crear una lista en memoria. Sin embargo, una vez que un generador ha producido todos sus valores, se agota y no se puede reutilizar directamente. Esto plantea la pregunta de cómo restablecer un objeto generador en Python.
Desafortunadamente, los generadores no tienen un método de restablecimiento incorporado. Para reutilizar un generador, tiene varias opciones:
Considere el siguiente extracto de código para cada opción:
Opción 1 (Ejecute la función del generador nuevamente):
y = FunctionWithYield()
for x in y:
print(x)
y = FunctionWithYield()
for x in y:
print(x)
Opción 2 (Almacenar los resultados del generador en una lista):
y = list(FunctionWithYield())
for x in y:
print(x)
# Can iterate again:
for x in y:
print(x)
La elección entre estas opciones depende de los requisitos específicos de su programa. La opción 1 es más eficiente para generadores pequeños o cuando volver a ejecutar la función del generador no es costoso desde el punto de vista computacional. La opción 2 es más adecuada para generadores grandes donde es factible almacenar los resultados en la memoria.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3