Python and AI/python

Iterator VS Enumerate

Re-Happy-Doc 2019. 9. 2. 00:08

Iterable

• member를 하나씩 반환할 수 있는 object

• seqence type인 str, list, tuple, dict, set

• for loop말고도 zip(), map()과 같이

sequence한 특징을 필요로 하는 작업을

하는 데 유용

• __iter__()나 __getitem__() 메소드로 정의된

class는 모두 iterable 하다고 볼 수 있다

§ Iterator pattern

• 데이터 내부 구현을 노출하지 않고 포함하

고 있는 요소들을 순회할 수 있는 방법을

제공하는 패턴

§ Iterator

• next()함수로 데이터를 순차적으로 호출이

가능한 object

• __iter__, __next__를 구현하고 있는 오브젝

트를 이터레이터라고 함


enumerate는 "열거하다"라는 뜻이다. 이 함수는 순서가 있는 자료형(리스트, 튜플, 문자열)을 입력으로 받아 인덱스 값을 포함하는 enumerate 객체를 돌려준다.


iterable을 순회하면서 iterable에서 각

아이템의 인덱스를 얻어옴

§ Enumerate(iterable)

§ Enumerate(iterable, start)

§ 예시)

• enumerate(list)

• enumerate(list, 1)