如果我使用这样的范围进行for循环:
for x in range(10):
然后为了获得计数,它只是x。但是说我有一个使用列表的for循环:
layer = [somedata,someotherdata...etc]
for row in layer:
print #the number the loop is on
有没有办法这样做除了指定一个整数计数变量并逐渐递增它,像这样?
layer = [somedata]
count = 0
for row in layer:
print count
count += 1
答案 0 :(得分:10)
您可以使用enumerate
。这将为您提供每次迭代的计数以及您重复的值。
注意:与range
类似,您可以指定开始计算的索引。
for count, row in enumerate(layer):
print count
答案 1 :(得分:3)
layer = ['a', 'b', 'c', 'd']
for index, value in enumerate(layer):
print 'Index: {} Value: {}'.format(index,value)
输出
Index: 0 Value: a
Index: 1 Value: b
Index: 2 Value: c
Index: 3 Value: d