Home Python Python Enumerate: The Complete Guide with Video Tutorial

Python Enumerate: The Complete Guide with Video Tutorial

Most of the newcomers and even some advanced programmers are unaware of the built-in function enumerate. Itā€™s used to loop over an array or string and have an automatic counter.

Hello everyone and welcome to the article where we are going to learn everything that you need to know about python enumerate.

What we will cover in this article:-

  1. What is Python enumerate?
  2. Can you enumerate a string python?
  3. What does enumerate mean in programming?
  4. Why enumeration is used in Python?
  5. What is the difference between enumerate and list?
  6. What does the function enumerate () do when applied on a Python dictionary?

What is Python enumerate?

One of the many built-in functions of python is enumerate ( ), it can be used when iterating while keeping count of the iterationā€™s index.

This enumerate() function takes a collection as an argument, this could be an array or a tuple. It returns an enumerate object ( ).

This object can be used in for loops. Bypassing this object to a list method it could be converted to a list of tuples that are index-value pairs. The enumerate() function also adds a counter that is the key to every enumerate object.

Syntax

enumerate(iterable, start)

Parameter Description
iterable A sequence, an iterator, or objects that supports iteration
start Starts counting from this number. Default is 0

What does enumerate mean in programming?

python enumerate

In this example, we create a list called my_listĀ  that contains 4 strings. Then a for loop iterates over the enumerate object created from this list.

In every iteration, a counter is the index of the value that corresponds to every element of the array. When running this script, the following result is displayed:

Python Enumerate: The Complete Guide with Video Tutorial

Now if we add the second argument, enumerate( my_list ) will become enumerate( my_list, 3 ), and the index will start from 3 instead of 0:

Python Enumerate: The Complete Guide with Video Tutorial

The following result is displayed:

python enumerate

We can use the optional argument of enumerate when creating tuples containing the index and list item using a list. Here is an example:

Python Enumerate: The Complete Guide with Video Tutorial

The following result is displayed:

Python Enumerate: The Complete Guide with Video Tutorial

Example using tuple

As mentioned above, you can enumerate over a tuple as well since tuples are iterable objects. This method is similar to when we enumerate over a list.

Python Enumerate: The Complete Guide with Video Tutorial

The following result is displayed:

Python Enumerate: The Complete Guide with Video Tutorial

Why enumeration is used in Python?

Instead of using the for loop, an enumerate function could be used with the same result because it has by default a counter that can be used as an index. We can also loop over the value of the array/list at the same time.

Cleaner code is achieved by using enumerate (), now we write fewer lines of code while getting the same result. For example:

Python Enumerate: The Complete Guide with Video Tutorial

Using a for loop to do the same thing as the code above would look something like this:

Python Enumerate: The Complete Guide with Video Tutorial

Both of them displays the same result:

Python Enumerate: The Complete Guide with Video Tutorial

This code isnā€™t just longer. This way of using a for loop is a bit hard and not straight forward and anyone could easily make a mistake when using it.

Can you enumerate a string with Python?

In Python, strings objects are by default iterable. That means you can use enumerate () the same way you would with any other iterable object:

Python Enumerate: The Complete Guide with Video Tutorial

The following result is displayed:

Python Enumerate: The Complete Guide with Video Tutorial

Every character from the string is considered as a value and given an index, then when we call the print function, each character is displayed by itself.

Example using strings

Python Enumerate: The Complete Guide with Video Tutorial

First, we declare a string, named string, of value ā€œHELLOā€. Using the enumerate object with an argument string, in every iteration, the index and character are stored in variables and then displayed using the print function.

And the result is the following:

Python Enumerate: The Complete Guide with Video Tutorial

Enumerate a list of tuples

In this example, we will create a list of tuples that contains name-age pair.

The conventional way to enumerate the list is by using a for loop. We start by creating an array that is a list of tuples, called people. Each element of the array is a tuple that contains the name and age of a person, the name is a string and the age an integer.

We know itā€™s a list of tuples and not lists because every element is declared between parentheses and not brackets. Using a for loop, we iterate over the enumerate object from the people list.

In every iteration, id and val are assigned the index and value of each element respectively. The val variable is a tuple, and to access elements from this tuple we need to use brackets, and between them which element we need.

In our case val [0] is the name and val [1] is the age. And those variables change with every iteration. Now we can simply display the result using a print function. Id is the counter that the enumerate function creates, this will be the index.

python enumerate

And we will get the following result:

Python Enumerate: The Complete Guide with Video Tutorial

However, a cleaner way to achieve this is through tuple unpacking

With tuple unpacking, we can do something like this

Python Enumerate: The Complete Guide with Video Tutorial

The same result is achieved but in a simpler way. Instead of storing the tuple in a variable in every iteration and then reaching its elements with index 0 and 1.

When can directly store the values in two separate variables using the tuple unpacking. It works because both of them are between parentheses. Now we can simply use the variables name and age in the print function.

What does the function enumerate ( ) do when applied to a Python dictionary?

Dictionaries and sets are not sequences, they donā€™t have and donā€™t need an index. And to use the enumerate function we should care about the index, which is not the case.

Itā€™s not useful to enumerate with a dictionary argument. The same is applied for sets Instead we could iterate over the keys or values of a dictionary using the following code.

Python Enumerate: The Complete Guide with Video Tutorial

The result is the following:

Python Enumerate: The Complete Guide with Video Tutorial

To iterate over a set:

Python Enumerate: The Complete Guide with Video Tutorial

The following result is displayed:

Python Enumerate: The Complete Guide with Video Tutorial

What is the difference between enumerate and list?

The list() built-in function returns a list. If no parameters are passed, it returns an empty list. If iterable is passed as a parameter, it creates a list consisting of iterableā€™s items.

python enumerate

The following result is displayed:

Python Enumerate: The Complete Guide with Video Tutorial

The list function creates an array containing each character from the passed string as an element. The same result is obtained when passing a tuple as an argument. This argument is then converted to a python list.

Now itā€™s time to explore our Python Enumerate video tutorial.

Python Enumerate: The Complete Beginners Guide
Tasks to practice

To make sure that everything we explained was clear and understood, try to complete the following tasks and test your python skills using the enumerate function.

  1. Create a list of grocery list and display it with an index for each item.
  2. Using the same list, add a brand for each item using a for loop
  3. For all the items that have indexes greater than 5, remove them from the list by changing the stringā€™s value to ā€˜checkedā€™

This article comes to an end here, I hope everything was clear. Now itā€™s time to explore our video tutorial.

If you have any questions donā€™t hesitate to drop a comment in the section below.