使用迭代器时,我们需要跟踪迭代器中的项目数。这是通过称为的内置方法来实现的enumerate()
。该enumerate()
方法增加了可迭代的计数器。返回的对象是一个枚举对象。其语法和参数如下 。
enumerate(iterable, start=0) iterable - a sequence, an iterator, or objects that supports iteration start – is the position in the iterator from where the counting starts. Default is 0.
在下面的示例中,我们将使用字典并对其应用枚举。结果默认的起始位置是从0开始,我们得到的结果以计数器值为零开始打印。我们也可以将默认起始值更改为5,尽管计数保持不变,但结果会有所不同。
days= { 'Mon', 'Tue', 'Wed','Thu'} enum_days = enumerate(days) print(type(enum_days)) # converting it to alist print(list(enum_days)) # changing the default counter to 5 enum_days = enumerate(days, 5) print(list(enum_days))
输出结果
运行上面的代码给我们以下结果-
[(0, 'Tue'), (1, 'Thu'), (2, 'Mon'), (3, 'Wed')] [(5, 'Tue'), (6, 'Thu'), (7, 'Mon'), (8, 'Wed')]
我们还可以使用代码进行循环,并分别打印循环的元素,如下面的代码所示。
days= { 'Mon', 'Tue', 'Wed','Thu'} enum_days = enumerate(days) # enumearte using loop for enum_days in enumerate(days): print(enum_days) for count,enum_days in enumerate(days,5): print(count,enum_days)
运行上面的代码给我们以下结果-
(0, 'Thu') (1, 'Tue') (2, 'Wed') (3, 'Mon') 5 Thu 6 Tue 7 Wed 8 Mon