首页 文章

在Python FOR循环中获取循环计数

提问于
浏览
193

在循环遍历列表的Python for 循环中,我们可以编写:

for item in list:
    print item

它整齐地遍历列表中的所有元素 . 有没有办法在循环中知道到目前为止我循环了多少次?例如,我想要一个列表,在我处理了十个元素后,我想用它们做一些事情 .

我想到的替代方案将是这样的:

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 )获得迭代次数?

4 回答

  • 456

    pythonic方式是使用enumerate

    for idx,item in enumerate(list):
    
  • 0

    同意尼克 . 这里有更详细的代码 .

    #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变量 .

  • 58

    尝试使用 itertools.count([n])

  • 0

    我知道相当古老的问题,但....看到其他东西,所以我给我的镜头:

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

相关问题