>  기사  >  백엔드 개발  >  여러 반복을 위해 Python 생성기를 재구성하는 방법은 무엇입니까?

여러 반복을 위해 Python 생성기를 재구성하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-30 04:58:28624검색

How to Reshape a Python Generator for Multiple Iterations?

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에서 생성기 개체를 재설정하는 가장 좋은 방법은 해당 컨텍스트에 따라 달라집니다. 사용중입니다.

위 내용은 여러 반복을 위해 Python 생성기를 재구성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.