반응형
파이썬 이터레이터(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()함수를 내부적으로 호출해서 요소를 꺼내주는 것입니다.
반응형
'Python' 카테고리의 다른 글
[Python] 파이썬 튜플 자료형 (0) | 2019.10.24 |
---|---|
[Python] 파이썬 with as 키워드 (0) | 2019.10.24 |
[python] 파이썬 문자열 합치기 나누기 split/join 함수 (3) | 2019.10.22 |
[Python] 파이썬 리스트 내포(List comprehension) (0) | 2019.10.22 |
[Python] 파이썬 딕셔너리 키, 값 쌍 얻기 - items() (0) | 2019.10.22 |