编写一个函数来从python中的矩阵列表中分离方阵?

我正在尝试编写一个功能,如标题所说,但不断收到错误消息。这是我的代码:


all_matrices = [A,B,C,D,E,F,G] #these are all matrices defined above


def isSquare(matrices): 

    dims = []

    square_matrices = []

    i = 0


    for i in range(len(matrices)): 

        dims.append(np.shape(matrices[i]))


        if dims[i][0] == dims[i][1]:

            square_matrices.append(matrices[i])   


    return square_matrices

谢谢你们的第一个答案。现在我有一个新问题


我不断得到


'元组索引超出范围'


但我不知道如何解决这个问题。有什么建议?顺便说一句,我正在使用 Spyder IDE。


侃侃无极
浏览 150回答 1
1回答

倚天杖

由于您正在使用numpy,您可以像下面这样执行此操作all_matrices = [np.zeros((3,3)), np.zeros((3,2)), np.zeros((4,4))]square_matrices = [m for m in all_matrices if m.shape[0] == m.shape[1]]row_matrices = [m for m in all_matrices if m.shape[0] < m.shape[1]]col_matrices = [m for m in all_matrices if m.shape[0] > m.shape[1]]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python