my_list = ['a', 'b', 'c', 'a', 'c']
for i in my_list:
print i
my_list.index(i) не предлагать - он возвращает индекс первого попавшегося элемента со значением i, т.е. если в списке встречаются одинаковые вхождения, то ценность данного метода в подобной ситуации сомнительна.
Вводить дополнительную переменную и приращивать её единицей каждую итерацию мне кажется неэлегантным.
Может быть есть какая-нибудь красивая хитрость?
Ах, да, совсем забыл, конструкция:
my_list = ['a', 'b', 'c', 'a', 'c']
for i in range(len(my_list)):
print i, my_list[i]