python中同时获取序列的值和下标位置

当在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

你可能感兴趣的:(python中同时获取序列的值和下标位置)