Get loop count inside a Python FOR loop
在一个迭代列表的python
1 2 | for item in list: print item |
它整齐地贯穿了列表中的所有元素。有没有办法知道到目前为止我循环了多少次?例如,我想要一个列表,在处理完十个元素之后,我想对它们做些什么。
我想到的替代方案是:
1 2 3 4 5 6 | count=0 for item in list: print item count +=1 if count % 10 == 0: print 'did ten' |
号
或:
1 2 3 4 | for count in range(0,len(list)): print list[count] if count % 10 == 0: print 'did ten' |
到目前为止,有没有更好的方法(就像
肾盂途径是使用
1 | for idx,item in enumerate(list): |
同意尼克的意见。下面是更详细的代码。
1 2 3 4 5 6 7 | #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变量。
我知道一个相当古老的问题,但是……我发现了另一件事,所以我试了一下:
1 | [each*2 for each in [1,2,3,4,5] if each % 10 == 0]) |
尝试使用