如何确认给定矩阵的索引是否存在?
例如:
matrix = [[1,2,3],[2,3,4][5,6,7]]
matrix[1][2]
4
但是,如果我做矩阵[3] [3],我会收到错误。
我知道我能做到:
try:
array[idx]
except IndexError:
但如果idx
为-1怎么办?索引不存在,但在python -1中返回索引0。
我该如何检查?
谢谢。
答案 0 :(得分:4)
try:
if idx1 < 0 or idx2 < 0: raise IndexError()
array[idx1][idx2]
except IndexError:
# do stuff
答案 1 :(得分: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]