Python - 根据标量值测试数组中的所有值



我正在尝试将 numpy 数组中的值与标量值进行比较。下面是此数组的示例。如果有任何帮助,它只能包含正值。

y = np.array([ 1 , 0.008 , 3 , 4 , 5])

在我的代码的另一部分中,我想将此数组与标量进行比较,例如用于中断 while 循环的"if"语句中的 3.5。我想测试数组中的任何值是否大于此标量值。

while True:
    if any_value_in_array(y) > 3.5
       break
    #random code

有什么命令可以让我做这样的事情吗?

您可以在条件检查中使用any()

In [377]: (y > 3.5).any()
Out[377]: True

更长的示例

In [378]: y
Out[378]: array([ 1.   ,  0.008,  3.   ,  4.   ,  5.   ])
In [379]: (y > 3.5)
Out[379]: array([False, False, False,  True,  True], dtype=bool)
In [380]: (y > 3.5).any()
Out[380]: True

此外,如果要检查是否所有元素都符合条件,可以使用all()

最新更新