Iterator 개념은 파이썬 고유의 개념이 아닌 객체 지향 프로그래밍 언어에는 대부분 포함되는 개념으로 보인다.
Iterator
- 반복자 라고 부르며, 객체 지향 언어에서 배열과 비슷한 자료 구조의 내부 요소를 순회하는 객체를 말함
- 파이썬에서 해당 객체를 사용할 수 있는 자료형은 String, Tuple, Set, List, Dictionary에서 사용 가능
- dir(객체) 결과로 나오는 리스트에 __iter__이 포함된다면 반복자 객체를 사용할 수 있다
반복문을 사용한 방법과 반복자를 사용한 방법의 비교
# 각 방식을 비교
L = [1, 2, 3]
for x in L:
print(x ** 2, end=' ') #리스트 L의 값을 제곱해서 출력
I = iter(L)
while True:
try:
X = next(I) #iterator 객체에서 사용가능한 다음 값으로 움직이기 위한 메소드
except StopIteration:
break
print( X**2, end=" ") #리스트 L의 값을 제곱해서 출력
################################################
# 실행 결과
1 4 9
1 4 9
Assignment
# 아래의 코드와 같은 동작을 수행하는 로직은 반복자를 사용해서 만들기
#D = {'a':1, 'b':2, 'c':3}
#for key in D.keys():
# print(key) # 딕셔너리 D의 키를 출력
I = iter(D)
while True:
try:
X = next(I)
except StopIteration:
break
print(X)
######################################
# 실행 결과
a
b
c
'wecode > TIL 정리' 카테고리의 다른 글
위코드 Pre Course - 파이썬의 Lambda (0) | 2020.07.25 |
---|---|
위코드 Pre Course - 파이썬의 Generator (0) | 2020.07.24 |
위코드 Pre Course - 파이썬의 Comprehension (0) | 2020.07.24 |
위코드 Pre Course - 절대경로와 상대경로 (2) (0) | 2020.07.22 |
위코드 Pre Course - 절대경로와 상대경로 (1) (0) | 2020.07.22 |