Ras*_*nev 3 python exception-handling list
我正在用 python 做一些计算,如果它们在列表中,我必须对列表中的项目求和。这是代码:
Ei=-J*S[i][j]*(S[i+1][j]+S[i-1][j]+S[i][j+1]+S[i][j-1])
Run Code Online (Sandbox Code Playgroud)
我想要的是将给出错误的元素的值设为零 list index out of range。有没有办法在不验证和的每个元素是否存在的情况下做到这一点?
提前致谢
编辑
我不希望总和为 0,只希望给出错误的元素
您可以使用try/编写函数except
def get_value(S, i, j):
try:
return S[i][j]
except IndexError:
return 0
Run Code Online (Sandbox Code Playgroud)
然后使用它
Ei = -J * get_value(S, i, j) * (get_value(S, i+1, j) + get_value(S, i-1, j) +get_value(S, i, j+1) + get_value(S, i, j-1))
Run Code Online (Sandbox Code Playgroud)