[python] Python FOR 루프 내에서 루프 수 얻기

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반복 횟수를 얻는 더 좋은 방법이 있습니까?



답변

pythonic 방법은 다음을 사용하는 것입니다 enumerate.

for idx,item in enumerate(list):


답변

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 변수를 주석 처리했습니다.


답변

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

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


답변

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

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


답변

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


답변