Python FOR 루프 내에서 루프 수 얻기


259

for목록을 반복 하는 Python 루프에서 다음과 같이 작성할 수 있습니다.

for item in list:
    print item

목록의 모든 요소를 ​​깔끔하게 살펴 봅니다. 루프에서 지금까지 몇 번 반복했는지 알 수있는 방법이 있습니까? 예를 들어, 나는 목록을 가져오고 싶고 10 개의 요소를 처리 한 후 그들과 무언가를하고 싶다.

내가 생각한 대안은 다음과 같습니다.

count=0
for item in list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'

또는:

for count in range(0,len(list)):
    print list[count]
    if count % 10 == 0:
        print 'did ten'

for item in list반복 횟수를 얻는 더 좋은 방법이 있습니까?


1
덩어리로 된 목록을 반복하는 것에 대한 답변에 관심이있을 수도 있습니다 : stackoverflow.com/questions/434287/…
Dave Bacher

답변:



86

Nick과 동의하십시오. 보다 정교한 코드는 다음과 같습니다.

#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'

코드에서 count 변수를 주석 처리했습니다.


9
enumerate의 선택적 start매개 변수를 사용하여 0 대신 1로 열거를 시작할 수도 있지만 count대신 OP의 이름을 사용합니다 idx.
Stefan Pochmann

선택적 시작 매개 변수가 있는지 전혀 몰랐습니다. 알아 둘만 한. 감사합니다
Vikram Garg

1

나는 오히려 오래된 질문을 알고 있지만 .... 다른 것을보고 만났으므로 내 기회를주었습니다.

[each*2 for each in [1,2,3,4,5] if each % 10 == 0])

1

우편 기능을 사용하면 요소와 색인을 모두 얻을 수 있습니다.

countries = ['Pakistan','India','China','Russia','USA']

for index, element zip(range(0,countries),countries):

         print('Index : ',index)
         print(' Element : ', element,'\n')

output : Index : 0 Element : Pakistan ...

또한보십시오 :

Python.org


0

사용해보십시오 itertools.count([n])


2
여기에 카운트를 어떻게 사용할지 잘 모르겠습니다. 개수는 일련의 숫자를 생성하는 데 사용됩니다.
Codie CodeMonkey

그러나 다음 반복의 값을 어떻게 재설정합니까? itertools.count () 사용은 불가능합니다.
Javed
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.