如何处理超出范围的索引

时间:2017-06-14 16:56:34

标签: python list error-handling a-star

我正在建立一个A星算法,我想存储8个可能的方向,如此移动到字典中:[“NW:一个位于西北的位置,我从一个存储所有单位的2D列表中调用在我的地图上]

对于西北部的例子,我会这样称呼该单位:

["NW": map[p.x -1][p.y-1]]

存储左上角(或NW)单位(p是起始位置单位,我称之为x和y坐标。地图是我用来说明我的2D列表,其中包含我的所有单位格)。 我必须为起跑单位周围的所有8个方向做类似的事情。 问题是起始单位可能在任何一点都在地图的边缘,所以如果我在起始节点位于我的地图的左边界时尝试去NW,W或SW,那么很明显会出现索引某种边界错误。

如何一次有效地测试所有8个案例?我不想将它们全部添加到我的字典中,并用自己的try语句将它们包围起来。本质上我想将这段代码添加到我的程序中:

dic = ["NW": map[p.x -1][p.y-1], "N": map[p.x][p.y-1], "NE" map[p.x 
+1][p.y-1], ...]

依此类推,适用于所有8个方向。

0 个答案:

没有答案