티스토리 뷰

개발/python

[python] listiterator object

Jaeyeon Baek 2013. 6. 19. 14:13

listiterator object에 대해서 살펴봅니다.


우선 아래와 같은 list가 있고

>>> aa = [1,2,3,4,5,6]
>>> type (aa)

aa라는 list를 iterator화 시켜서 bb라는 listiterator에 담는 과정은 아래와 같습니다.

>>> bb = iter(aa)
>>> 
>>> bb
<listiterator object="" at="" 0x8262e4c="">
>>> 
>>> type(bb)
<type 'listiterator'="">

iter함수를 직접 호출하는 경우도 아래와 같이 동일합니다.

>>> cc = aa.__iter__()
>>> 
>>> cc
<listiterator object="" at="" 0x8262ecc="">
>>> 
>>> type(cc)
<type 'listiterator'="">
>>> 

자, 이제 bb나, cc라는 listiterator를 next()와 결합 시켜서 사용 가능합니다.

>>> bb.next()
1
>>> next(bb)
2
>>> bb.next()
3
>>> next(bb)
4
>>> bb.next()
5
>>> bb.next()
6
>>> 

next()를 직접 호출 시켜서도 사용이 가능합니다.

이때 주의할것은, next()를 얻어오지 못하는 경우 아래와 같이 예외가 발생합니다.

>>> bb.next()
Traceback (most recent call last):
  File "", line 1, in 
StopIteration
>>>

별도의 예외처리가 필요합니다,


python에는 do~while문이 왜 없을까 하며..

php코드의 do~while문을 python코드로 컴버팅하다 보니 활용하게 된 함수들(iter, next)입니다 ^^


'개발 > python' 카테고리의 다른 글

[python] 변수의 type 확인  (0) 2014.02.18
[python] detect module  (2) 2013.07.03
[python] map() 활용  (0) 2013.06.13
[python] 특정 디렉토리의 파일 카운트  (0) 2013.06.12
[python] SimpleXMLRPCServer 호환성  (0) 2012.11.09
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
Total
Today
Yesterday