파이썬 iter 함수 질문입니다.
nums = [11,22,33]
it = iter(nums)
while True:
try:
num = next(it)
except StopIteration:
break
print(num)
위와 같은 예제를 접했습니다.
그런데 제가 알기론 iter 함수 없이
num= [1,2,3]
next_num = reversed(next_num)
print(next(num))
print(next(num))
print(next(num))
두 번째와 같이 코딩해도
결과가
1
2
3
으로 잘 나오는 것 같은데
iter 함수는 왜 써준 건지 이해가 안돼서 질문 드립니다.
답변 주시면 감사하겠습니다!
댓글 확인하고 수정했습니다.
그리고 선생님께서 주신 댓글을 읽어보고 생각해보았습니다.
"두 번째 코드는 이터레이터가 아니라 오류가 발생한다"
이 말씀은 iter함수는 일반변수를 이터레이터화 시켜준다는 의미로 해석되는데
제가 해석한 게 맞을까요?
개발자가_되어보자 님 337
M 2020년 12월 17일 2:11 오후
1개의 답변이 있습니다. 1 / 1 Page
iter가 일반변수를 이터레이터화 하기보다는 이터레이터로 만들수 있는 자료형만 가능합니다.
iter("abc") 는 가능하고 iter(1234)는 불가능합니다. iter가 가능한 자료형은 순서가 있는 시퀀스형태의 자료형만 가능합니다.
박응용 님
2020년 12월 17일 3:28 오후