获取for循环内的循环计数
这个 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 ...
另请参见:
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):