如何获取矩阵的特定行和该行的所有列?在Python中

2024-09-08 20:04:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个位为B[]的向量和一个矩阵NxN。我想得到矩阵的所有行,其中B[]向量中的位是1。例如:

enter image description here


Tags: 矩阵向量nxn
2条回答

基本for循环:

b = [1,0,1,1]
Matrix = [['a','b','c','d'],['e','f','g','h'],['i','j','k','l'],['m','n','o','p']]

result_matrix = []
for i in range(len(b)):
    if b[i] == 1:
        result_matrix.append(Matrix[i])
print (result_matrix)

什么是平等列表理解:

result_matrix = [Matrix[i] for i in range(len(b)) if b[i]]
print (result_matrix)

出于各种原因,我建议使用numpy数组。您可以使用真正的多维数组。这样你就可以使用

要选择矩阵的特定行,可以使用:

b(4,:)

如果条件是返回逻辑列表的函数,则可以显示满足条件的所有行:

b(condition(),:)

在您的情况下,您可以使用:

result_matrix = Matrix[b[:,0] == 1,:]

相关问题 更多 >