reversed 함수 질문입니다.

안녕하세요 오늘 가입한 사람입니다! 잘 부탁드립니다!

list_a = [1,2,3,4,5]
list_reversed = reversed(list_a)

print("reversed 함수")
print(list_reversed)
print(list(list_reversed))
print()

print("reversed() 함수와 반복문")
for i in reversed(list_a):
    print("-", i)

위 코드에서 print(list(list_reversed)) 이 부분에서 list_reversed 리스트에 list 함수를 사용하는 이유는

reversed 함수는 이터레이터를 반환하기 때문에 이터레이터를 리스트 자료형으로 만들기 위함이라고 알고 있습니다

그렇다면 for문에서도 list 함수를 이용하여 이터레이터를 리스트 자료형으로 만들어줘야 for문이 정상동작 할 것

같은데 for문은 또 문제 없이 동작합니다.

왜 그런지 설명해주시면 감사하겠습니다!

개발자가_되어보자 319

M 2020년 12월 10일 9:49 오후

목록으로
1개의 답변이 있습니다. 1 / 1 Page

원래 for문에서는 다음과 같이 이터레이터를 리스트로 변환하지 않고 그대로 사용할 수 있습니다.

for i in iterable:
    ...

박응용

2020년 12월 10일 11:24 오후

for문 자체가 반복자이기 때문인가요? - 개발자가_되어보자님, 2020년 12월 11일 12:07 오전 추천 , 대댓글
@개발자가_되어보자님 for문 자체라기보다는 for문이 반복자를 반복시킬수 있는 제어문입니다. - 박응용님, 2020년 12월 11일 11:13 오전 추천 , 대댓글
답변 주셔서 감사합니다! - 개발자가_되어보자님, 2020년 12월 13일 10:49 오후 추천 , 대댓글