我知道在一个表示关系的矩阵中,这个关系是对称的,它是1-0矩阵,表示它的元素满足矩阵中第I行和col j的a_ij = a_ji。
下面是我的解决方案:
def sym(a):
assert (len(row) == len(a) for row in a)
for i in range(len(a)):
for j in range (len(a)):
if all(a[i][j] == a[j][i]):
return True
return False
我们遍历矩阵的行并进行比较,如下所示
def sym(a):
assert set(len(item) for item in a) == {len(a)}
return all(a[i][j] == a[j][i] for i in range(len(a)) for j in range (len(a)))
a = [[1, 0], [0, 1]]
print sym(a)
# True
a = [[1, 0]]
print sym(a)
# AssertionError
a = [[1, 1], [0, 0]]
print sym(a)
# False