尝试在矩阵外部访问时获取特定值 - python

尝试获取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