我想测试一个2x2的矩阵[[5,6],[7,8]],看它是否是一个方阵。
我运行了我的代码,本应该得到True,但却得到了False...
def square(sq):
for element in sq:
if element:
return False
return True
我想测试一个2x2的矩阵[[5,6],[7,8]],看它是否是一个方阵。
我运行了我的代码,本应该得到True,但却得到了False...
def square(sq):
for element in sq:
if element:
return False
return True
假设m
是一个numpy
矩阵,并且你已经导入了numpy
def square(m):
return m.shape[0] == m.shape[1]
return m.shape[0] == m.shape[1]
。 - kastermadef isSquare (m): return all (len (row) == len (m) for row in m)
正如你在评论中所说的:如果所有行的长度都等于行数。
len(m)
存储到一个变量中,这样就不必在每次迭代中重新计算它了。 - anon582847382len(m)
真的会在每次调用时计算吗?我认为这个值应该被缓存了。 - HyperboreusisSquare = lambda m: all(len(row) == len(m) for row in m)
相比有什么好处? - Lily Marafor element in sq:
if element:
return False
return True
我们从for循环开始:
for element in sq:
def square(sq):
rows = len(sq)
for row in sq:
if len(row) != rows:
return False
return True
这个也应该可以工作。
A是一个带矩阵的列表。
if not A:
return True
m = len(A)
n = len(A[0])
if m == n:
return True
else:
return False
def square(sq):
delta_x = sq[1][0] - sq[0][0]
delta_y = sq[1][1] - sq[0][1]
return delta_x == delta_y