1. Iterator
Iterator는 다음을 수행하는 방법입니다. 컬렉션 요소에 액세스합니다. 반복기 개체는 모든 요소에 액세스할 때까지 컬렉션의 첫 번째 요소부터 액세스하기 시작합니다. 반복자는 앞으로만 갈 수 있고 뒤로는 갈 수 없지만 사람들이 반복하는 동안 뒤로 가는 경우는 거의 없기 때문에 괜찮습니다. 또한, 반복자의 가장 큰 장점 중 하나는 전체 반복 프로세스를 위해 모든 요소를 미리 준비할 필요가 없다는 것입니다. 반복자는 반복할 때만 요소를 계산하며, 그 전후에는 요소가 존재하지 않거나 소멸될 수 있습니다. 이 기능은 여러 G 파일과 같은 거대하거나 무한한 컬렉션을 탐색하는 데 특히 적합합니다.
기능:
방문자는 iterator의 내부 구조에 신경 쓸 필요가 없으며 next() 메서드를 통해 다음 콘텐츠를 지속적으로 가져오기만 하면 됩니다
할 수 없습니다. 무작위 컬렉션에 있는 값에 접근하려면 처음부터 끝까지 순차적으로만 접근할 수 있습니다
중간 접근하면 돌아갈 수 없습니다
상대적으로 큰 데이터 세트를 쉽게 반복하고 메모리를 절약할 수 있습니다
>>> a = iter([1,2,3,4,5]) >>> a <list_iterator object at 0x101402630> >>> a.__next__() 1 >>> a.__next__() 2 >>> a.__next__() 3 >>> a.__next__() 4 >>> a.__next__() 5 >>> a.__next__() Traceback (most recent call last): File "<stdin>", line 1, in <module> StopIteration
2. 생성기
함수가 호출되면 반복자를 반환하며, 함수에 Yield가 포함되어 있으면 이 함수를 생성기라고 합니다.
def func(): yield 1 yield 2 yield 3 yield 4
위 코드에서 func는 생성기라고 불리는 함수이고, 이 함수가 func일 때 ()가 실행되면 반복자를 얻게 됩니다.
3. 예시
a. 🎜>
>>> temp = func() >>> temp.__next__() 1 >>> temp.__next__() 2 >>> temp.__next__() 3 >>> temp.__next__() 4 >>> temp.__next__() Traceback (most recent call last): File "<stdin>", line 1, in <module> StopIteration
b. 범위에 액세스하려면 반복자를 사용하세요
위 내용은 Python 기본 반복자 및 생성기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!