enumerate(iterator, start=0),用迭代器iterator构造另一个迭代器,这个新的迭代器中的元素是一个2元素元组,元组的第一项是序号(序号从start开始),第二项是iterator中的元素。
>>> list = ['A', 'B', 'C', 'D']
>>> e1 = enumerate(list)
>>> for i in e1:
print(i)
(0, 'A')
(1, 'B')
(2, 'C')
(3, 'D')
>>> e2 = enumerate(list, 4)
>>> for i in e2:
print(i)
(4, 'A')
(5, 'B')
(6, 'C')
(7, 'D')
enumerate(iterator, start)等效为:
def enumerate(iterator, start=0):
n = start
for elem in iterator:
yield n, elem
n += 1