Раздражает Python индекс списка из-за ошибки диапазона - PullRequest
0 голосов
/ 10 апреля 2020

У меня уже есть массив, инициализированный как массив 3x6, который называется self.ascii. Я пытаюсь изменить блок 3x3 этого массива за раз, используя код:

for x in range(3):
    for y in range(3):
       # currY and currX represent the bottom left corner of the 3x3 square I am tyring to alter
       self.ascii[y+currY][x+currX] = arr[y][x] # yes I know the x and y values are backwards between the arrays

Однако я продолжаю получать ошибку, в GNURadio-Companion list index out of range - до Я даже пытаюсь запустить его. Я знаю, что индексы здесь не выходят за пределы диапазона списка.

Вопрос: Почему python проверяет это перед запуском, и есть ли другой способ загрузки этих массивов 3x3

1 Ответ

1 голос
/ 10 апреля 2020

Научитесь использовать pdb.

import pdb

pdb.set_trace()

# Now your code.
for x in range(3):
    for y in range(3):
       self.ascii[y+currY][x+currX] = arr[y][x]

Это приведет вас к переводчику, где вы сможете увидеть значение чего угодно и использовать такие команды, как n выполнить следующую инструкцию в коде. Go шаг за шагом, пока вы не найдете, какой индекс выходит за пределы диапазона своего списка.

...