The most simple way I would be going for is;
i = -1
for step in my_list:
i += 1
print(i)
#OR - WE CAN CHANGE THE ORDER OF EXECUTION - SEEMS MORE REASONABLE
i = 0
for step in my_list:
print(i) #DO SOMETHING THEN INCREASE "i"
i += 1
If you have an existing list and you want to loop over it and keep track of the indices you can use the enumerate
function. For example
l = ["apple", "pear", "banana"]
for i, fruit in enumerate(l):
print "index", i, "is", fruit
This?
for i in range(0,5):
print(i)
In additon to other answers - very often, you do not have to iterate using the index but you can simply use a for-each expression:
my_list = ['a', 'b', 'c']
for item in my_list:
print item
use enumerate:
>>> l = ['a', 'b', 'c', 'd']
>>> for index, val in enumerate(l):
... print "%d: %s" % (index, val)
...
0: a
1: b
2: c
3: d
If you have some given list, and want to iterate over its items and indices, you can use enumerate()
:
for index, item in enumerate(my_list):
print index, item
If you only need the indices, you can use range()
:
for i in range(len(my_list)):
print i
Just use
for i in range(0, 5):
print i
to iterate through your data set and print each value.
For large data sets, you want to use xrange, which has a very similar signature, but works more effectively for larger data sets. http://docs.python.org/library/functions.html#xrange
Source: Stackoverflow.com