有没有办法让for循环的运行计数不使用范围?

nif*_*552 3 python

如果我有一个使用这样的范围的for循环:

for x in range(10):
Run Code Online (Sandbox Code Playgroud)

然后为了获得计数,它只是x.但是说我有一个使用列表的for循环:

layer = [somedata,someotherdata...etc]
for row in layer:
     print #the number the loop is on
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点,除了指定一个整数计数变量并逐渐递增它,像这样?

layer = [somedata]
count = 0
for row in layer:
    print count
    count += 1
Run Code Online (Sandbox Code Playgroud)

jra*_*rez 10

你可以用enumerate.这将为您提供每次迭代的计数和您正在迭代的值.

注意:range您可以指定在哪个索引处开始计数.

for count, row in enumerate(layer):
    print count
Run Code Online (Sandbox Code Playgroud)