获取for循环内的循环计数

361 投票
3 回答
623605 浏览
提问于 2025-04-16 00:42

这个 for 循环会遍历列表中的所有元素:

for item in my_list:
    print item

我想知道在循环中,自己已经循环了多少次。比如说,我想处理一个列表,当我处理了十个元素后,想对它们做点什么。

我想到的替代方法是这样的:

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

或者:

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

有没有更好的方法(就像 for item in my_list 这样)来获取到目前为止的循环次数呢?

3 个回答

4

使用zip函数,我们可以同时获取元素和它们的索引。

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

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

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

output : Index : 0 Element : Pakistan ...

另请参见:

Python.org

124

我同意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'

我把你代码里的计数变量注释掉了。

789

在Python中,推荐的做法是使用enumerate这个函数:

for idx, item in enumerate(my_list):

撰写回答