使用迭代器时,我们需要跟踪迭代器中的项目数。这是通过称为的内置方法来实现的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