如何确认给定矩阵的索引存在?
例如:
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。我该如何检查?
谢谢你。
try:
if idx1 < 0 or idx2 < 0: raise IndexError()
array[idx1][idx2]
except IndexError:
# do stuff
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]