i插座找出为什么任何((在这里不返回。我认为这可能与Numpy有关。但是,我也尝试将任何人称为__ -builtins __。
导入numpy作为np
import numpy as np
VCI=20
anom_con = [10,20,35,50]
print VCI<anom_con[3]
print VCI<any(anom_con)
返回:
True
False
有趣的是,我也在代码中其他地方使用的任何((,并且在此工作正常:
z=-0.668
z_con = [-2,-1.5,-1,1,1.5,2]
print z < any(z_con)
返回:
True
any
可以按预期工作,只是 you 期望它可以正常工作。
any
找到评估True
的元素后立即返回True
。对于数字,这意味着它将在找到非零元素后立即返回True
。
您的意思是第一个示例中的any(num > VCI for num in anom_con)
,第二个示例中的any(num > z for num in z_con)
。
z = -0.668
z_con = [-2,-1.5,-1,1,1.5,2]
print z < any(z_con)
输出"正确"输出纯粹是偶然的。它打印True
是因为:
-
any(z_con)
对True
进行评估(因为z_con
至少有一个非零数字( -
z < True
评估True
,因为True
的基础值为1,而-0.668 < 1
为True
。