An important thing while dealing with iterators, is we need to keep the count of iterations. Python enumerate is a built-in function that takes care of that.
Python enumerate() does two things:
- adds a counter value to the iterable and
- returns a value in the form of the enumerate object.
Python enumerate()
The Python enumerate() method takes two parameters:
- iterable- a sequence like lists,tuple,string,etc.
- start- starts counting from this number. If not given, 0 will be considered as a start.
Let’s see an example to understand how enumerate() works:
l=['apple','banana','orange'] obj=enumerate(l) print(type(obj)) print(obj)
The type of the object returned by enumerate() is <class ‘enumerate’>.
To print the value in a meaningful format, we have to convert the object to a tuple or list. Use tuple() or list() to convert the enumerate object to tuple or list accordingly.
t=('apple','banana','orange') obj=enumerate(t) print(list(obj))
We can use enumerate() also on strings.
t='abc' obj=enumerate(t) print(tuple(obj))
Below is an example of adding the start parameter to the enumerate().
t='abc' obj=enumerate(t,10) print(tuple(obj))
Since we have given the start parameter, the counting starts from 10 instead of 0.
Looping over enumerate object:
We can use for loop to iterate through the enumerate object.
l=['apple','banana','pineapple'] for value in enumerate(l): print(value)
We can also print the counter and item using enumerate() in the below method.
l=['apple','banana','pineapple'] for counter,value in enumerate(l): print('The counter is '+str(counter)+' and the value is '+str(value))