취미와 밥줄사이

[ Python ] 이터레이터(Iterator) 본문

Python

[ Python ] 이터레이터(Iterator)

취미와 밥줄사이 2022. 2. 10. 16:32

이터레이터(Iterator)란?

  • 순서대로 다음 값을 리턴할 수 있는 객체
  • iterator 객체 - 값을 차례대로 꺼낼 수 있는 객체

이터레이터 사용이유

  • 값이 필요한 시점이 되었을 때 값을 만들기 위해서
  • 데이터 생성을 뒤로 미루기 위함(lazy evaluation)
# 반복 가능한 객체인지 확인하는 방법
# iter함수의 존재 여부로 반복가능한 객체인지 확인할 수 있음
li = [1, 2, 3]
print(dir(li))

# `__iter__`가 있는지 확인하기

컬렉션 타입(Collection Type)

  • List, Tuple, Set, Dictionary와 같이 여러 개의 요소(object)를 갖는 데이터 타입

시퀀스 타입(Sequence Type)

  • List, Tuple, Range, Str 등과 같이 순서가 존재하는 타입

Iterable

  • 내부 요소(member)를 하나씩 리턴할 수 있는 개체를 Iterable하다고 함
  • for문을 통해 순회할 수 있는 객체를 Iterable하다고 함
  • Iterable한 것은 __next__ 메소드가 존재하지 않고, Iterator는 존재함
  • iterable 객체 - 반복 가능한 객체

Iterable -> Iterator

  • Iterable한 객체를 Iterator로 만들 수 있음
  • a = [1, 2, 3]
    
    print(type(a)) # list 출력
    a = iter(a)
    print(type(a)) # list_iterator 출력
    print(a.__next__()) # 첫 실행시 1 출력

 

REFERENCE

https://tibetsandfox.tistory.com/27#:~:text=%EC%9D%B4%ED%84%B0%EB%A0%88%EC%9D%B4%ED%84%B0(Iterator)%EB%9E%80%3F,%EA%B0%92%EC%9D%84%20%EA%B0%80%EC%A0%B8%EC%98%AC%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4. 

 

파이썬(python) - 이터레이터(Iterator)

이터레이터(Iterator)란? 이터레이터는 순서대로 다음 값을 리턴할 수 있는 객체를 의미합니다. 자체적으로 내장하고 있는 next 메소드를 통해 다음 값을 가져올 수 있습니다. 여기서 '순서대로'라

tibetsandfox.tistory.com

https://niceman.tistory.com/136

 

파이썬(Python) - 이터레이터(Iterator) 설명 및 예제 소스 코드

파이썬(Python) Iterator - 설명 파이썬에서 효율적으로 코드를 작성할 수 있는 방법 중에 이터레이터를 반드시 이해해야 된다고 생각됩니다. 이터레이터란 반복가능한 객체 즉, 반복문을 활용해

niceman.tistory.com

https://wikidocs.net/16068

 

38. Iterable 과 Iterator

## 1. Iterable과 Iterator ### 1-1 Iterable - iterable 객체 - 반복 가능한 객체 - 대표적으로 iterable한 타입 - lis ...

wikidocs.net

https://velog.io/@sji7532/Python-%EC%9D%B4%ED%84%B0%EB%A0%88%EC%9D%B4%ED%84%B0-iterator#:~:text=%EC%9D%B4%ED%84%B0%EB%A0%88%EC%9D%B4%ED%84%B0%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20%EC%9D%B4%EC%9C%A0,%EB%A7%8C%EB%93%9C%EB%8A%94%20%EB%B0%A9%EC%8B%9D%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%A9%EB%8B%88%EB%8B%A4.

 

[Python] 이터레이터 (iterator)

이터레이터(iterator) or 반복자는 값을 차례대로 꺼낼 수 있는 객체(object)입니다. (반복 가능한 객체)만약 연속된 숫자를 미리 만들면 숫자가 적을 때는 상관없지만 숫자가 아주 많을 때는 메모리

velog.io