본문 바로가기

Python

[Python] 파이썬 이터레이터(iterator)

반응형

파이썬 이터레이터(iterator)

파이썬에서 반복가능한 것들을 이터러블(iterable)이라고 합니다. 대표적으로 리스트, 딕셔너리, 문자열 튜플 등을 이터러블 객체라고 합니다. 이 중 next()함수를 통해 하나하나 꺼낼 수 있는 요소를 바로 이터레이터(iterator)라고합니다.

>>> item = [1, 2, 3, 4, 5] 
>>> reversed_item = reversed(item) 
>>> print(next(reversed_item)) 
>>> print(next(reversed_item)) 
>>> print(next(reversed_item)) 
>>> print(next(reversed_item)) 
>>> print(next(reversed_item)) 

5 
4 
3 
2 
1 

 

위 코드는 아래와 같이 for문으로 편리하게 쓸 수 있습니다.

>>> item = [1, 2, 3, 4, 5] 
>>> reversed_item = reversed(item) 
>>> for i in reversed_item:     
...		print(i) 

5 
4 
3 
2 
1 

 

즉 for문에서 사용하는 iterator들은 반복시에 next()함수를 내부적으로 호출해서 요소를 꺼내주는 것입니다.

반응형