0

如何确认给定矩阵的索引存在?

例如:

matrix = [[1,2,3],[2,3,4][5,6,7]]

matrix[1][2]
4

但是,如果我做 matrix[3][3] 我会得到一个错误。

我知道我可以做到:

try:
  array[idx]
except IndexError:

但是如果idx是-1呢?索引不存在,但在 python -1 中返回索引 0。我该如何检查?

谢谢你。

4

2 回答 2

4
try:
    if idx1 < 0 or idx2 < 0: raise IndexError()
    array[idx1][idx2]
except IndexError:
    # do stuff
于 2013-06-01T12:51:03.360 回答
0
def dictify(mat):
    return {
        (i, j): cell
        for i, row in enumerate(mat)
        for j, cell in enumerate(row)
    }

matrix = dictify([[1,2,3],[2,3,4], [5,6,7]])

assert (3, 3) not in matrix
assert (1, 0) in matrix

print matrix[1, 1]
于 2013-06-01T13:50:41.430 回答