在尝试获取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中,这些方法可能会有糟糕的表现。
答案 0 :(得分:5)
您可以使用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