Python函数

enumerate()

2018-09-26  本文已影响0人  import_hello

转载须注明出处:简书@Orca_J35

enumerate(iterable, start=0)

该内置函数本质上是 enumerate 类的构造函数,用于创建一个枚举(enumerate)对象。 iterable 必须是一个支持迭代(iteration)的对象,比如序列(sequence)和迭代器(iterator)。枚举对象本身就是一个迭代器(iterator),每次调用其 __next__() 方法时,都会产生(yield)一对值:

示例 1:

>>> e = enumerate([1, 2, 3], start=1) # 指定起始值
>>> next(e)
(1, 1)
>>> next(e)
(2, 2)
>>> next(e)
(3, 3)
>>> next(e)
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    next(e)
StopIteration

示例 2:

>>> for i in enumerate((1, 2, 3)): print(i)

(0, 1)
(1, 2)
(2, 3)

作为 enumerate 类的用户,我们不必了解实现细节,可把 enumerate 等效于如下代码:

def enumerate(sequence, start=0):
    n = start
    for elem in sequence:
        yield n, elem
        n += 1
上一篇 下一篇

猜你喜欢

热点阅读