When using the iterators, we need to keep track of the number of items in the iterator. This is achieved by an in-built method called enumerate(). The enumerate() method adds counter to the iterable. The returned object is a enumerate object. Its syntax and parameters are described below.
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.
Example
In the below example we take a dictionary and apply enumerate to it. In the result the default start is from 0 and we get the result printed starting with counter value as zero. We can also change the default start value to 5 and see a different result though the count remains same.
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))
Output
Running the above code gives us the following result −
[(0, 'Tue'), (1, 'Thu'), (2, 'Mon'), (3, 'Wed')] [(5, 'Tue'), (6, 'Thu'), (7, 'Mon'), (8, 'Wed')]
Using Loops for enumerate
We can also use the code for looping and print the elements of the loop separately as shown in the code below.
Example
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)
Output
Running the above code gives us the following result −
(0, 'Thu') (1, 'Tue') (2, 'Wed') (3, 'Mon') 5 Thu 6 Tue 7 Wed 8 Mon