Skip to main content
 首页 » 编程设计

python之如何在单次通过时测试 numpy 数组或矩阵列中是否存在两个值之一

2025年05月04日17xing901022

采用如下矩阵:

import numpy as np 
m = np.matrix([[1,1], 
               [2,0], 
               [3,1], 
               [5,1], 
               [5,0]]) 

然后取两个测试值:

n1 = 4 
n2 = 1 

我如何测试它们(保证只有一个,如果有的话)并返回那个值?做两遍很简单:

if n1 in m[:, 0]: 
    return n1 
if n2 in m[:, 0]: 
    return n2 

通过 m[:, 0] 合并为单个外观的最佳 numpy 方法是什么?

请您参考如下方法:

如果您需要简单性和可读性,可以使用集合逻辑找到最简单的方法:

{1,4} & set(m[:,0]) 

此外,数据实际上只被读取了一次。