尝试获取NumPy矩阵之外的值时,可以接收指定的值(例如0)吗?
例如:
#getItem - some method which do what i want
a = numpy.array([[1, 2], [3, 4]])
getItem(a, 1, 1) # == 4
getItem(a, -1, 1) # == 0
当然,我可以手动完成此操作,但是在Python中,这些方法可能会产生不良的性能。
python大神给出的解决方案
您可以使用try
/ except
块来处理无效索引
def getItem(a, i, j):
try:
return a[i,j]
except IndexError:
return 0
>>> getItem(a, 1, 1)
4
>>> getItem(a, 2, 5)
0