iter()
또는 iterable 객체의 __iter__()
메소드로 Iterator 객체를 생성할 수 있다.next()
또는 iterator 객체의 __next__()
메소드로 Iterable의 데이터에 순차적으로 접근할 수 있습니다.ex) 리스트는 iterable 객체이지만 iterator 객체는 아니다.
list = [1, 2, 3, 4, 5]
print(list) # [1, 2, 3, 4, 5]
print(next(list)) # TypeError: 'list' object is not an iterator
list = [1, 2, 3, 4, 5]
iterator = iter(list)
print(next(iterator)) # 1
print(next(iterator)) # 2
print(next(iterator)) # 3
print(next(iterator)) # 4
print(next(iterator)) # 5
print(next(iterator)) # StopIteration
파이썬 내장함수 iter()
또는 iterable 객체의 __iter__()
메소드를 사용해 모든 Iterable 객체를 Iterator 객체로 만들 수 있다.
list = [1, 2, 3, 4, 5]
iterator1 = iter(list)
iterator2 = list.__iter__()
print(iterator1) # <list_iterator object at 0x102955fd0>
print(iterator2) # <list_iterator object at 0x102955fa0>