Python中的Enumerate()

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