Skip to main content

Python enumerate() Function

The enumerate() function adds a counter to an iterable and returns it as an enumerate object (iterator with index and the value).

Syntax

enumerate(iterable, start)

enumerate() Parameters

Python enumerate() function parameters:

ParameterConditionDescription
iterableRequiredAn iterable (e.g. list, tuple, string, etc.)
startOptionalA number to start counting from. Default value is 0.
note

By default, enumerate() starts counting at 0 but if you add a second argument start, it will start from that number instead.

enumerate() Return Value

Python enumerate() function adds a counter to an iterable and returns it: the returned object is an enumerate object.

An enumerate object is an iterator that produces a sequence of tuples, each containing an index and the value from the iterable.

You can convert enumerate objects to lists and tuples using list() and tuple() functions, respectively.

Examples

Basic Example with Python enumerate() function

Create a list that can be enumerated:

color_list = ['red', 'green', 'blue']
result = list(enumerate(color_list))
print(result) # Output: [(0, 'red'), (1, 'green'), (2, 'blue')]

output

[(0, 'red'), (1, 'green'), (2, 'blue')]

You can change the default counter in enumerate() as you need by specifying the start argument:

# set default counter to 10
color_list = ['red', 'green', 'blue']
result = list(enumerate(color_list, 10))
print(result) # Output: [(10, 'red'), (11, 'green'), (12, 'blue')]

output

[(10, 'red'), (11, 'green'), (12, 'blue')]

Example: loop over an Enumerate Object

When you iterate an enumerate object, you get a tuple containing (counter, item)

color_list = ['red', 'green', 'blue']
for pair in enumerate(color_list):
print(pair)

output

(0, 'red')
(1, 'green')
(2, 'blue')

However, you can unpack the tuple into multiple variables as well:

color_list = ['red', 'green', 'blue']
for index, item in enumerate(color_list):
print(index, item)

output

0 red
1 green
2 blue

And you can also change the default counter and loop:

color_list = ['red', 'green', 'blue']
for index, item in enumerate(color_list, 10):
print(index, item)

output

10 red
11 green
12 blue

Example: access the next element with next() function

color_list = ['red', 'green', 'blue']
enumerate_colors = enumerate(color_list)

# accessing the next element
next_element = next(enumerate_colors)
print(f"Next Element: {next_element}")

output

Next Element: (0, 'red')
note

To learn more, visit Python next() function.