2014-07-22 5 views
10

파이썬에서 iterator 객체의 현재 항목 색인에 액세스하는 방법은 무엇입니까?파이썬 반복자 객체의 색인 얻기

예를 들어 일반 표현식 finditer을 사용할 때 for 루프에서 반복기의 인덱스에 액세스하는 방법은 다음과 같습니다.

re.finditer(pattern, text) 

답변

15

반복자는 색인 생성되도록 설계되지 않았습니다. (지연된 항목을 생성한다는 점에 유의하십시오). 그들이 생산으로

대신, 항목 번호를 위해 enumerate를 사용할 수 있습니다

>>> it = (x for x in range(10, 20)) 
>>> for index, item in enumerate(it): 
...  print(index, item) 
... 
0 10 
1 11 
2 12 
3 13 
4 14 
5 15 
6 16 
7 17 
8 18 
9 19 
>>> 

참고 또한 계산을 시작하는 번호를 지정할 수 있습니다 : 아래

for index, match in enumerate(it): 

는 데모입니다 at :

>>> it = (x for x in range(10, 20)) 
>>> for index, item in enumerate(it, 1): # Start counting at 1 instead of 0 
...  print(index, item) 
... 
1 10 
2 11 
3 12 
4 13 
5 14 
6 15 
7 16 
8 17 
9 18 
10 19 
>>>