2012-01-27 3 views
3

파이썬의 for 루프에서 반복 카운터에 액세스 할 수있는 방법이 있습니까?파이썬의 for 루프에서 반복 카운터에 액세스 할 수있는 방법이 있습니까?

나는 보통 내 자신의 변수를 사용하고 어떤 루프에서 그것을 증가시킵니다. 더 평범한 방법이 있습니까?

+0

카운터가 없습니다! 자, 반복자 내부에있을 수 있으며, 개수와 같은 배열과 같은 객체의 특별한 경우가 있습니다. 일반적으로 매번 다음 값을 제공하라는 반복자 객체 일뿐입니다. – delnan

답변

17

사용 enumerate :

sequence = [1, 45, 65, 7] 
for i, val in enumerate(sequence): 
    print i, val 

출력 :

0 1 
1 45 
2 65 
3 7 
+0

멋진 트릭. 감사! 새로운 것을 배웠습니다. –

3

뿐만 아니라 당신이 enumerate 내장을 사용하지만, 조금 알려진 선택 사항 인 두 번째 매개 변수가 수, 값이 시작하기 :

f = open(...) 
for linenumber, line in enumerate(f, 1): 
    # etc. 

이 방법을 사용하면 요소를보다 자연스럽게 첫 번째 요소에 대해 0이되고 1 개의 자리를 추가해야하는 대신 번호 매기기가 필요합니다.

관련 문제