iter
( list )
반복 가능한 객체 (list 등..) 를 받아서 '이터레이터(Iterator) 객체'로 변환해주는 함수
next
함수로 호출하는 객체
iter
( Iterator , {observer} )
next
함수로 불러오는 Iterator 객체의 값을 감시
'{observer}' 에 해당하는 값을 발견 시 next
를 종료
next
( Iterator , {기본값} )
Iterator 객체의 다음 값을 계속 리턴
리턴할 값이 없는 경우 '{기본값}'을 출력하고 반복 종료
# iter 함수로 iter 객체 생성
iter_x = iter([1,2,3,4,5])
print(list(iter_x)) ## result = [1, 2, 3, 4, 5]
print(list(iter_x)) ## result = []
## > 한 번 출력하고 난 뒤에는 남아있는 원소가 없음
# iter(x, observer) 형식
import random
def func():
return random.randint(0, 10) ## 0 부터 10 까지 랜덤한 정수를 리턴하는 함수
iter_y = iter(func, 8) ## func 함수에서 8이 나오면 next 종료
while True:
try:
print(next(iter_y)) ## func 함수에서 생성되는 값을 출력
except:
raise
# next(x, deafult) 형식
iter_z = iter([1,2,3,4,5])
iter_num = 1
max_iter = 6
while iter_num <= max_iter:
print(next(iter_z, 10)) ## 더 이상 next로 불러올 값이 없을 때, 10 출력
iter_num += 1