이터러블(iterable)과 이터레이터(iterator)의 차이점
이터러블(iterable)은 리스트, 튜플, 문자열과 같이 요소(Element)를 하나씩 반환할 수 있는 반복 가능한 객체를 의미합니다.
반면, 이터레이터(iterator)는 이터러블의 요소들을 순차적으로 접근할 수 있는 객체를 뜻합니다. 이터레이터는 next()
함수를 사용해 다음 요소에 접근할 수 있습니다.
이터러블(Iterable)
이터러블은 for
반복문, list()
, set()
, tuple()
등으로 순회할 수 있는 데이터 타입입니다.
문자열, 리스트, 튜플, 딕셔너리 등이 이에 해당합니다.
이터러블 예시
numbers = [1, 2, 3] # 리스트
for number in numbers: # for 반복문
print(number)
# 출력 결과: 1, 2, 3
이터레이터(Iterator)
이터레이터는 이터러블(Iterable)로부터 iter()
함수를 사용해 생성합니다. 이터레이터는 next()
함수로 다음 요소에 접근합니다.
이터레이터 예시
numbers = [1, 2, 3] # 리스트
iterator = iter(numbers) # 이터레이터 생성
print(next(iterator)) # 1
print(next(iterator)) # 2
print(next(iterator)) # 3
이터레이터와 이터러블 활용
-
이터러블
: 데이터 컬렉션을 순회하고, 각 요소에 대한 작업을 수행할 때 사용합니다. -
이터레이터
: 좀 더 세밀한 제어가 필요한 경우나 무한 시퀀스를 다룰 때 유용합니다.
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!