enumerate()
function adds a counter/index to an iterable (like a list, tuple, or string) and returns it as an enumerate
object.It is mostly used in loops, especially for
loops, when you need both index and value.
enumerate(iterable, start=0)
Parameter | Description |
---|---|
iterable |
The sequence (list, tuple, etc.) |
start |
The starting index (default is 0 ) |
fruits = ['apple', 'banana', 'cherry']
for index, value in enumerate(fruits):
print(index, value)
0 apple
1 banana
2 cherry
for index, value in enumerate(fruits, start=1):
print(index, value)
1 apple
2 banana
3 cherry
Without enumerate()
:
for i in range(len(fruits)):
print(i, fruits[i])
With enumerate()
(simpler and cleaner):
for i, fruit in enumerate(fruits):
print(i, fruit)
enum_obj = enumerate(['a', 'b', 'c'])
print(list(enum_obj)) # Output: [(0, 'a'), (1, 'b'), (2, 'c')]
enumerate()
for i, char in enumerate("Python"):
print(i, char)
0 P
1 y
2 t
3 h
4 o
5 n
✅ Use enumerate()
when you need both index and value
✅ Use the start=
parameter to change base index
✅ Combine it with conditional logic for powerful loops
names = ['Abhi', 'John', 'Ravi', 'John']
for i, name in enumerate(names):
if name == 'John':
print("First John found at index", i)
break