enumerate(sequence, [start=0])
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标.
Return an enumerate object. iterable must be a sequence, an iterator, or some other object which supports iteration. The next() method of the iterator returned by enumerate() returns a tuple containing a count (from start which defaults to 0) and the values obtained from iterating over iterable.
- sequence:可迭代序列
- strat:迭代序号,可选,默认从0开始
此函数等价于
def enumerate(sequence, start=0):
n = start
for elem in sequence:
yield n, elem
n += 1
1. 一个简单的例子
iter = range(3)
for i, j in enumerate(iter):
print("sequence:{}".format(i), j)
print()
for i, j in enumerate(iter, start=10):
print("sequence:{}".format(i), j)
'''
sequence:0 0
sequence:1 1
sequence:2 2
sequence:10 0
sequence:11 1
sequence:12 2
'''
2. 官方示例
给出一个官方的例子
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
print("default start")
print(list(enumerate(seasons)))
print("start=1")
print(list(enumerate(seasons, start=1)))
'''
default start
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
start=1
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
'''