Pythonic way of iterating over ordered collections

Iterating over range(len(...)) is a common approach to accessing each item in an ordered collection.

for i in range(len(my_list)):
The pythonic syntax is much simpler, and is guaranteed to produce elements in the same order:
for item in my_list:
Python has other solutions for cases when the index itself might be needed. To get the element at the same index from two or more lists, use zip. To get both the index and the element at that index, use enumerate.