python3的enumerate
Posted langb2014
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3的enumerate相关的知识,希望对你有一定的参考价值。
Python enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
语法
以下是 enumerate() 方法的语法:
enumerate(sequence, [start=0])
参数
- sequence:一个序列、迭代器或其他支持迭代对象。
- start:下标起始位置。
返回值
返回 enumerate(枚举) 对象。
实例
以下展示了使用 enumerate() 方法的实例:
>>>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, element
...
0 one
1 two
2 three
源码:
def enumerate(collection):
#'Generates an indexed series: (0,coll[0]), (1,coll[1]) ...'
i = 0
it = iter(collection)
while 1:
yield (i, it.next())
i += 1
通过迭代,每次把坐标和枚举值通过yield返回,直到迭代结束。
以上是关于python3的enumerate的主要内容,如果未能解决你的问题,请参考以下文章
Python3基础 list(enumerate()) 将一个列表的每一个元素转换成 带索引值的元组
Python3基础 list enumerate 将列表的每个元素转换成 带索引值的元组