Проблема заключается в начале 0
в вашей целочисленной константе.
В Python 2 целое число, которое начинается с 0
, считается восьмеричной константой, что не позволяет цифры 8
или 9
(и даже без них результирующее число будет сильно отличаться от того, что вы намереваетесь).
В Python 3 это вообще не разрешено, за исключением 0
сам. (Восьмеричные константы начинаются с 0o
в Python 3, аналогично тому, как шестнадцатеричные константы начинаются с 0x
.)
Чтобы сделать то, что вы хотите, просто удалите начальный ноль. Затем вы можете заполнить нулями, используя:
x = "%08d" % 1011930
Это установит x
в строку '01011930'
. Тогда ваша индексация будет работать.
Аналогично, вы можете использовать:
x = "{:08d}".format(1011930)