enumerate的意思即为枚举,列举。
一句话来说,enumerate的作用就是对可迭代的数据进行标号并将其里面的数据和标号一并打印出来。
看一下enumerate的函数
enumerate(iterable, start=0)
第一个参数为可迭代的数据,比如python中的list。第二个参数为该函数打印标号的初始值,默认从0开始打印,该函数返回一个enumerate类型的数据。
来看个例子
>>> test= [1,2,3,4,5]
>>> for i,num in enumerate(test):
print("%d-th is %d" %(i,num))
0-th is 1
1-th is 2
2-th is 3
3-th is 4
4-th is 5
显然,enumerate将list中的数据和数据的位置一并打了出来,其打印出来的是(0,list[0]),(1,list[1]),...
我们来验证一下:
>>> list(enumerate(test))
Out[4]: [(0, 1), (1, 2), (2, 3), (3, 4), (4, 5)]
我们可以自己自己定义一个,类似与:
def enumerate(sequence, start=0):
n = start
for elem in sequence:
yield n, elem
n += 1