Python - iter, next

lsjoon·2024년 1월 15일
0

python

목록 보기
14/16

iter 함수

iter( list )

반복 가능한 객체 (list 등..) 를 받아서 '이터레이터(Iterator) 객체'로 변환해주는 함수

  • Iterator
    next 함수로 호출하는 객체

iter( Iterator , {observer} )

next 함수로 불러오는 Iterator 객체의 값을 감시
'{observer}' 에 해당하는 값을 발견 시 next를 종료

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

0개의 댓글