【发布时间】:2016-04-01 01:55:59
【问题描述】:
x = np.arange(0,2,0.5)
valeur = 2*x
if valeur <= 0.6:
print ("this works")
else:
print ("valeur is too high")
这是我得到的错误:
if valeur <= 0.6:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
我已经阅读了几篇关于 a.any() 或 a.all() 的帖子,但仍然找不到真正清楚地解释如何解决问题的方法。我明白为什么 Python 不喜欢我写的东西,但我不知道如何解决它。
【问题讨论】:
-
valeur是一个向量,其中一些元素小于 0.6,一些元素更大。valeur <= 0.6是什么意思? -
valeur 是一个向量,等于 [ 0. 1. 2. 3.] 我对每一个词都感兴趣。对于 0.6 以下的部分,则返回“this works”。对于 0.6 以上的部分,返回“valeur is too high”,这是一个愚蠢的版本,我不是根据条件打印这个或打印那个,而是根据条件将 Valeur 的每个元素输入方程 1 或方程 2
-
将单个值与向量进行比较就像比较橙子和苹果,
any()和all()是验证向量中的任何元素是否满足该条件的函数,或者所有元素满足条件