在列表中查找在python中公差范围内的值?

在列表中查找在python中公差范围内的值?,python,list,comparison,Python,List,Comparison,我试图找到一个在一定范围内的值。我知道使用np.isclose可以在一定的容忍度下做到这一点。但是,它将以布尔变量的形式打印结果。所以,我想做同样的事情,但只打印出值,而不是真或假 mylist=(1.5,3.1251,5.8741,9.213,7.858,2.1242,8.18956,2.5452,4.745,2.1254) 阈值=3.5 结果=np.isclose(mylist,阈值,rtol=1e-05) 打印(结果) 而不是下面的打印: result=array([False,True

我试图找到一个在一定范围内的值。我知道使用np.isclose可以在一定的容忍度下做到这一点。但是,它将以布尔变量的形式打印结果。所以,我想做同样的事情,但只打印出值,而不是真或假

mylist=(1.5,3.1251,5.8741,9.213,7.858,2.1242,8.18956,2.5452,4.745,2.1254)
阈值=3.5
结果=np.isclose(mylist,阈值,rtol=1e-05)
打印(结果)
而不是下面的打印:

result=array([False,True,False,False,False,True,False,True,False,True])
我希望它打印以下内容:

result=array([3.1251,2.1242,2.5452,2.1254])
另外,结果只是一个例子,不是真正的结果

编辑1

我设法将代码更改为以下内容:

def检查x轴列表(组件列表、目标值、公差):
x_轴_结果=[]
对于范围(0,len(comp_list))内的x:
当前值=组件列表[x]
如果当前值>=目标值-容差,当前值=(目标值-容差)和comp\u列表[x],您可以尝试以下操作:

print(np.array(mylist)[result])
输出:


从您的示例中,我得到的结果=[False False False False],可以假定结果=数组([False,True,False,False,True,False,True])?不要使用
list
作为变量名,它会隐藏基本python类。@rusu_ro1这只是一个示例。我只想得到真值,而不是真值或假值。假设您的列表类似于numpy数组或矩阵,那么只需使用布尔索引:
my_list[result]
否则,您可以使用条件列表理解:
[val for val,is_close in zip(my_list,result)if is_close]
@Alexander我成功地更改了代码,但仍然出现错误。可以在编辑部件中找到错误
array([3.1251, 2.1242, 2.5452, 2.1254])