检查矩阵索引是否存在
问题描述:
如何确认给定矩阵的索引存在?检查矩阵索引是否存在
例如:
matrix = [[1,2,3],[2,3,4][5,6,7]]
matrix[1][2]
4
但是,如果我这样做矩阵[3] [3]我会得到一个错误。
我知道我可以做:
try:
array[idx]
except IndexError:
但如果idx
为-1?该索引不存在,但在蟒蛇-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]
为什么'-1'给你一个错误? '矩阵[-1] [ - 1]'在这里给我'7'。 – Eric
是的,但我想-1是矩阵中的索引..(我知道它代表0索引..) – Oren