행궁동 데이터 엔지니어

반응형

Python Iterator에 관한 내용입니다.

 

Python에는 Iterator 라는 class가 존재합니다.

Iterator는 이름그대로 반복할 수 있는 클래스 인데, next() 함수를 이용해서 다음 데이터를 불러올 수 있습니다.

Iterator의 next() 함수 마지막 데이터까지 불러온 후 또 next()를 실행하면 StopIteration Exception 발생

Iterator는 Container Object(리스트, 튜플 등) A가 있을때 iter(A), A.__iter__() 2가지 방법을 사용해 만들 수 있습니다.

 

생성한 Iterator사용하면 for loop가 아닌 while loop로 반복문을 간단하게 실행할 수 있습니다. 

next() 함수를 사용해서 Iterator를 불러오다 마지막 데이터를 불러오고나면 StopIteration Exception이 발생하는 것을 이용하거나 next(Iterator, '마지막 반환값') 으로 마지막 반환값을 지정할 수 있습니다.

마지막 반환값을 "Test"로 지정해 봤습니다.

 

아래는 Iterator를 활용한 while loop 예시 입니다.

 

a2의 클래스가 list_iterator로 나오는 것을 볼 수 있습니다.

 

 

추가적으로 next() function 정리

 

# 4.1 Manually Consuming an Interator

'''
next() function 
Syntax : next(iterable, default)
Prameter 
 - iterable : Required. An iterable object
 - default : Optional. An default value to return if the iterable has reached to its end.

참고링크 : https://www.w3schools.com/python/ref_func_next.asp
'''

 

참고문헌 : https://www.amazon.com/Python-Cookbook-Third-David-Beazley/dp/1449340377 
반응형

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band