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 将列表的每个元素转换成 带索引值的元组

Python3基础 list enumerate 将列表的每个元素转换成 带索引值的元组

Python中enumerate用法详解

Python中enumerate用法详解

python中enumerate()的用法详解转摘