본문 바로가기
Python

Iterator

by Adam92 2020. 6. 4.

리스트, set, dictionary와 같은 컬렉션이나 문자열과 같은 문자 sequence 등은 for문을 써서 하나씩 데이터를 처리할 수 있는데,

이렇게 하나하나 처리할 수있는 컬렉션이나 sequence들을 Iterable 객체(Iterable Object)라고 부릅니다.

한마디로,  Iterator는 순차적으로 꺼내올 수 있는 객체입니다.

 

iter() : 객체의 __iter__ 를 호출하는 함수이고

next() : 객체의 __next__를 호출하는 함수입니다.

 

객체 내부에 __iter__ 가 있다는것은 반복가능한 객체라는 뜻이고, 

__next__는 for문으로 반복가능한 객체안에 데이터를 꺼내는 기능을하는 함수입니다.

 

 

ex)

a_list = [1, 2, 3]
R = iter(a_list)		# 반복문의 값을 R로 설정
while True:		
    try:
        x = next(R)		# 반복문의 다음 값을 x로 설정
    except StopIteration:
        break
    print(x)		# 출력

#results
#1
#2
#3

 

Interator를 이용해 dic의 키를 출력하기

D = {'a':1, 'b':2, 'c':3}

I = iter(D)
while True:
    try:
        x = next(I)
    except StopIteration:
        break
    print(x) 
    
# Results
# a
# b
# c

'Python' 카테고리의 다른 글

Generator  (0) 2020.06.05
Python Assignment (List comprehension)  (0) 2020.06.04
Python etc..  (0) 2020.06.04
Modules and Package (Feature)  (0) 2020.06.03
Modules and Package  (0) 2020.06.02