本质上,我的代码精炼了一个数组。如果下一位数据太远,它会搜索上方和下方索引以查看该数据是否更适合在其索引中,即
def distance(x, y):
if x > y:
result = x - y
else:
result = y - x
return result
for y in range(0,10):
for x in range(0,10):
newarray[y][0] = myarray[y][0]
if distance(myarray[y][x],myarray[y][x+1]) > myerror:
if distance(myarray[y-1][x+1],newarrayarray[y][x]) <= myerror:
newarray[y][x+1] = myarray[y-1][x+1]
elif distance(myarray[y-2][x+1],newarrayarray[y][x]) <= myerror:
newarray[y][x+1] = myarray[y-2][x+1]
elif distance(myarray[y+1][x+1],newarrayarray[y][x]) <= myerror:
newarray[y][x+1] = myarray[y+1][x+1]
elif distance(myarray[y+2][x+1],newarrayarray[y][x]) <= myerror:
newarray[y][x+1] = myarray[y+2][x+1]
else:
newarray[y][x+1] = myarray[y][x+1]
else:
newarray[y][x+1] = myarray[y][x+1]
所以这段代码对于 y 的特定值非常有效,更具体地说是数组的中间值。我遇到的问题是外部值,因为显然对于 y=10 没有 y+1 值。
我想要发生的是,如果它超出了索引范围,我希望它只是将其视为不符合我的设定条件,而不是将其视为错误。因此,当 y=10 时,当它寻找 y=11 而不是因为它不存在而发出嘶嘶声时,我希望它只是说不,这不是真的,继续下一个 if。
我希望这是有道理的,如果没有,请发表评论,我会尝试清除它。