Что не так с циклом for по списку?
Почему при одинаковых элементах списка не выводятся их индексы?
lst = list('aaaba')
print(lst)
for lettr in lst:
print(lst.index(lettr), lettr)
Вывод получаем такой: ['a', 'a', 'b', 'a'] 0 a 0 a 2 b 0 a
Если цикл все-таки перебрал и вывел элементы списка, почему не вывел их индексы?
Ответы (1 шт):
Автор решения: n1tr0xs
→ Ссылка
Это связано с тем, что метод index ищет первое вхождение элемента в список. Т.е. сколько бы букв 'a' у вас в списке ни было, сколько бы раз вы не вызывали метод index всегда получите один и тот же ответ (в вашем случае 0).
Если вы хотите пробежаться по парам (element, index) - используйте enumerate:
for index, letter in enumerate(lst):
print(index, letter)