나는 반복문 인 i 목록을 정의한다. 코드에서 알 수 있듯이 __iter __() 메서드를 호출하면 반복기가 반환됩니다. 하지만 next() 메서드를 네 번 호출하면 1,2,3,4가 아닌 네 번만 출력됩니다.변수에 반복자를 할당 할 때 무슨 일이 일어나는가
>>> i=[1,2,3,4]
>>> i.__iter__
<method-wrapper '__iter__' of list object at 0x04040378>
>>> i.__iter__()
<listiterator object at 0x040561F0>
>>> i.__iter__().next()
1
>>> i.__iter__().next()
1
>>> i.__iter__().next()
1
>>> i.__iter__().next()
1
그래서 내가 뭔가 타격 :
>>>ite=i.__iter__()
>>>ite.next()
1
>>>ite.next()
2
>>>ite.next()
3
>>>ite.next()
4
>>> ite.next()
Traceback (most recent call last):
File "<pyshell#23>", line 1, in <module>
ite.next()
StopIteration
아무도 나에게이 두 가지 방법 사이의 차이를 말할 수합니까? Tx a lot :
첫 번째 버전에서는 * 네 개의 반복기 *를 요구합니다. – user2357112
감사합니다. 알 겠어. – yikayiyo