enumerate(seq,[start=0]) 函数是将序列中的元素与索引组合成一个元组列表,主要是用在for循环中。
例子:
>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1)) # 小标从 1 开始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
具体用法。
采用普通的for循环:
>>>i = 0
>>> seq = ['one', 'two', 'three']
>>> for element in seq:
... print i, seq[i]
... i +=1
...
0 one
1 two
2 three
而采用for循环enumerate()函数:
>>>seq = ['one', 'two', 'three']
>>> for i, element in enumerate(seq):
... print i, seq[i]
...
0 one
1 two
2 three
>>>
则可以将索引写在循环语句内,更容易定位到序列中的元素。
本文例子参考:菜鸟教程