转自:http://www.2cto.com/kf/201311/257390.html
当在python中遍历一个序列时,我们通常采用如下的方法:
for item in sequence:
process(item)
如果要取到某个item的位置,可以这样写:
for index in range(len(sequence)):
process(sequence[index])
另一个比较好的方式是使用python内建的enumerate函数:
enumerate(sequence,start=0)
上述函数中,sequence是一个可迭代的对象,可以是列表,字典,文件对象等等。enumerate返回的是下标和item组成的元组:
>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons)) [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1)) [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
文章最开始的例子于是可以写写成这样:
for index,item in enumerate(sequence):
print index,item