Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 确定矩阵中是否存在任何复数_Python_Python 3.x_List_Matrix_Nested For Loop - Fatal编程技术网

Python 确定矩阵中是否存在任何复数

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

我正在写一个函数来确定矩阵的元素是否复杂。我希望函数返回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 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使用,以确保快速前进!谢谢,走得好!谢谢