【发布时间】:2012-11-29 17:11:12
【问题描述】:
基本上,我的代码精炼了一个数组。如果下一个数据太远,它会搜索上面和下面的索引,看看那条数据是否更适合放在它的索引中,即
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。
我希望这是有道理的,如果没有,请发表评论,我会尝试清理它。
【问题讨论】:
标签: python arrays if-statement indexing