使用迭代器时,我们需要跟踪迭代器中的项目数。这是通过称为 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.
例子
在下面的示例中,我们使用一个字典并将 enumerate 应用于它。在结果中,默认开始是从 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