본문으로 건너뛰기

이터러블(iterable)과 이터레이터(iterator)의 차이점

이터러블(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

이터레이터와 이터러블 활용

  • 이터러블: 데이터 컬렉션을 순회하고, 각 요소에 대한 작업을 수행할 때 사용합니다.

  • 이터레이터: 좀 더 세밀한 제어가 필요한 경우나 무한 시퀀스를 다룰 때 유용합니다.