Когда вы выполняете for i in some_list
, i
ссылается на элементы этого списка, а не на их индексы. Например:
In [1]: for i in [3, 2, 1]:
...: print i
...:
3
2
1
Однако вы используете i
в качестве индекса.
Вы выполняете итерацию с i
по x
, и, таким образом, i
принимает значения из 1
, 2
и 3
. Но 3
является слишком большим индексом для массива длины 3. Последний индекс 2
, так как в индексах Python начинаются с 0.