Python 确定矩阵中是否存在任何复数
我正在写一个函数来确定矩阵的元素是否复杂。我希望函数返回True或False。我有此代码,但似乎没有按预期工作:Python 确定矩阵中是否存在任何复数,python,python-3.x,list,matrix,nested-for-loop,Python,Python 3.x,List,Matrix,Nested For Loop,我正在写一个函数来确定矩阵的元素是否复杂。我希望函数返回True或False。我有此代码,但似乎没有按预期工作: def confirm_matrix(M): row_1_length = len(M[0]) if len(M)>0: for row in M: if type(row) is not list or tuple: return False for row in
def confirm_matrix(M):
row_1_length = len(M[0])
if len(M)>0:
for row in M:
if type(row) is not list or tuple:
return False
for row in M[1:]:
if len(row)!= row_1_length:
return False
for row in M:
for element in row:
try:
isinstance(element, complex) == True
return True
except:
return False
confirm_matrix([[1j,1j],[2j,2j]])
我希望得到一个正确的答案,但这是错误的。我可以在这里的代码中做得更好吗?这里的逻辑是多余的。如果矩阵始终为2d,则可以迭代行和列,并将生成器传递给任何: 如果您使用的是numpy,那么以下方法是:
>>> a = np.array([[1+1j, 1+0j], [4.5, 3]])
>>> np.iscomplex(a).any()
True
这里的逻辑是过分的。如果矩阵始终为2d,则可以迭代行和列,并将生成器传递给任何: 如果您使用的是numpy,那么以下方法是:
>>> a = np.array([[1+1j, 1+0j], [4.5, 3]])
>>> np.iscomplex(a).any()
True
考虑使用SturyRead使用,以确保快速前进!谢谢,走得好!谢谢