Python에서 생성기 객체 재설정: 대안 탐색
생성기는 목록을 만들지 않고도 값 시퀀스를 반복하는 효율적인 방법을 제공합니다. 메모리. 그러나 생성기가 모든 값을 생성하면 소진되어 직접 재사용할 수 없습니다. 이는 Python에서 생성기 개체를 재설정하는 방법에 대한 질문을 제기합니다.
안타깝게도 생성기에는 재설정 방법이 내장되어 있지 않습니다. 생성기를 재사용하려면 다음과 같은 몇 가지 옵션이 있습니다.
각 옵션에 대해 발췌한 다음 코드를 고려하세요.
옵션 1 (생성기 함수 다시 실행):
y = FunctionWithYield()
for x in y:
print(x)
y = FunctionWithYield()
for x in y:
print(x)
옵션 2(생성기 결과를 목록에 저장):
y = list(FunctionWithYield())
for x in y:
print(x)
# Can iterate again:
for x in y:
print(x)
이러한 옵션 중 선택은 프로그램의 특정 요구 사항에 따라 다릅니다. 옵션 1은 소형 생성기의 경우 더 효율적이거나 생성기 기능을 다시 실행하는 경우 계산 비용이 많이 들지 않습니다. 옵션 2는 결과를 메모리에 저장할 수 있는 대규모 생성기에 더 적합합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3