我有一个已经初始化为名为self.ascii
的3x6数组。我正在尝试使用以下代码一次更改此数组的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数组
答案 0 :(得分:1)
学习使用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
之类的命令来执行代码中的下一条指令。逐步进行操作,直到找到哪个索引超出其列表范围为止。