enumerate函数会返回一个可迭代对象,这个迭代对象可以调用next()来生成默认从0开始的计数和值组成的元组,函数参数如下:
enumerate(sequence,start=0)
例子:
>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
默认迭代器从0开始计数,可以通过修改参数来改变开始的位置:
>>> list(enumerate(seasons, start=1))
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
函数实现代码如下:
def enumerate(sequence, start=0):
n = start
for elem in sequence:
yield n, elem
n += 1