Индекс не работает так, как вы ожидаете
.index()
не возвращает вам индекс элемента в массиве, он возвращает вам первый индекс или местоположение значения (см. this ).
В вашем коде
l = [0, 1, 2, 3, 4, 4]
for i in l:
print(l.index(i)) #i is the value itself
В действительности происходит то, что каждый раз, когда он ищет первое вхождениезначение i
.В списке l = [0, 1, 2, 3, 4, 4]
, когда вы достигаете последних 4, вы фактически запрашиваете у Python «первое вхождение 4
в списке l
», поэтому python выдает «index» 4.
В JavaScript это будет эквивалент array.indexOf(val)
.
То, что вы ищете: перечисление функция
for ind, val in enumerate(l):
...