Python에서 생성기 개체 재설정: 대안 탐색
생성기는 목록을 만들지 않고도 값 시퀀스를 반복하는 효율적인 방법을 제공합니다. 메모리. 그러나 생성기가 모든 값을 생성하면 소진되어 직접 재사용할 수 없습니다. 이는 Python에서 생성기 개체를 재설정하는 방법에 대한 질문을 제기합니다.
안타깝게도 생성기에는 재설정 방법이 내장되어 있지 않습니다. 생성기를 재사용하려면 다음과 같은 몇 가지 옵션이 있습니다.
각 옵션에 대해 발췌한 다음 코드를 고려하세요.
옵션 1(생성기 기능 다시 실행):
<code class="python">y = FunctionWithYield() for x in y: print(x) y = FunctionWithYield() for x in y: print(x)</code>
옵션 2(생성기 결과를 목록에 저장):
<code class="python">y = list(FunctionWithYield()) for x in y: print(x) # Can iterate again: for x in y: print(x)</code>
선택 이러한 옵션 간의 차이는 프로그램의 특정 요구 사항에 따라 달라집니다. 옵션 1은 소형 생성기의 경우 더 효율적이거나 생성기 기능을 다시 실행하는 경우 계산 비용이 많이 들지 않습니다. 옵션 2는 결과를 메모리에 저장할 수 있는 대규모 생성기에 더 적합합니다.
위 내용은 Python에서 생성기 개체를 재설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!