a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] for i in a: print(a[i]) IndexError: list index out of range
Я не понимаю, почему я получаю эту ошибку.
Вы ссылаетесь на значение, а не на индекс. Попробуйте:
for i in range(len(a)): print(a[i])
На самом деле вам не нужен индекс в приведенном вами примере, поскольку вы печатаете только значения элементов в списке, и в этом случае будет достаточно печатать элементы напрямую:
for i in a: print(i)
Если вы хотите индекс элемента, можно enumerate данные в массиве, используя
enumerate
for i, e in enumerate(a): print(a[i]) # assuming this is just a placeholder for a more complex instruction
, что вы хотите, где i это индекс и e (значение) элемента в списке.Но часто вам не нужен индекс, так как вы хотите использовать значение элемента напрямую.В этих случаях лучше сделать просто
i
e
for e in a: print(e)