Python 2.x True&False在非常特殊的情况下返回True

golfrguy04

我到处都在搜索有关此问题的答案,如果这是一个非常基本的问题,抱歉。我正在使用布尔Numpy数组过滤Numpy数组,该布尔Numpy数组是通过比较3个不同数组中相同索引处的值而创建的。对于所有索引i,我的比较由2个独立的布尔语句组成,即x [i] == y [i]和x [i]!= z [i]。这是令人不安的结果:

x[8]=25

y[8]=27

z[8]=13

x[8]==y[8]

False

x[8]!=z[8]

True

x[8]==y[8] & x[8]!=z[8]

True

如您所见,上面的False&True返回True。我想念什么?作为让我感到沮丧的另一个示例,这是来自相同数组的另一个示例,它们返回了正确的结果:

x[3]=24

y[3]=18

z[3]=27

x[3]==y[3]

False

x[3]!=z[3]

True

x[3]==y[3] & x[3]!=z[3]

False

如您所见,此示例运行良好。任何帮助,将不胜感激。

谢谢!

user2357112支持Monica

我想念什么?

您缺少括号:

(x[8]==y[8]) & (x[8]!=z[8])

另外,您应该在整个数组上将其作为向量化操作,而不是通过遍历索引来进行。希望您可以在真实的代码中完成此操作,并且只在此处使用了特定的索引来简化示例:

(x == y) & (x != z)  # Evaluates to an array of booleans.

&是按位AND运算符,而不是逻辑AND,但由于and不能因为广播而使逻辑过载(有充分的理由),因此NumPy&在布尔数组上用于逻辑AND。&的优先级与有所不同and,因此您需要用括号括起一些不需要用的操作and

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么在if语句中myNumber == True返回False的情况下,Python将字符串/数字评估为True?

hash((-2,2))== hash((2,-2))返回True(Python)

为什么{} | [] |()| str | set | etc。> n在python2.x中等于True吗?

{condition 1: x(), condition 2: y()}.get(True, None) 如何在 python 中实际运行?

python any() 的工作方式不同,为什么 [1,3,5] 中的 any([1,2]) 返回 True 而 ['a','v' 中的 any(['a','b']) 不返回, 'X']?

Python 3.6 - 如果项目与用户输入匹配,如何搜索 2D 列表并返回 true 或 false

为什么对于整数,2 * x * x比Python 3.x中的2 *(x * x)快?

宏返回define(X)为true或false

R:如何在给定 qnorm(x)=-2 的值的情况下找到 x

为什么python list的x [False]和x [True]有效?

为什么 print(2 == 2.) 在 Python 中返回 True

Python“==”在应该返回True时返回False

为什么“ if(x)”与Python中的“ if(x == True)”不同?

python matplotlib f(x ^ 2)图

Javascript中的Python x [1:2:3]?

Python 3.4旁边的2.x

Python 2.x和3.x速度

x [x <2] = 0在Python中是什么意思?

Python readlines() 3.X 到 2.X

Monkeyrunner 使用的是 python 2.x 而不是 3.x

将 Python 2x 移植到 3x

如何在不使用shell = True的情况下执行此Python子进程调用?

Python String到Bool的转换在所有情况下都为True

Sweetalert2不返回true / false

JAXB 2.x:如何在不了解目标类的情况下解组XML?

python matplotlib:如何在仅知道x值的情况下向曲线添加点标记?

Python 在没有 Pandas 的情况下打印 x 行和列

为什么 Python 为 [0xfor x in (1, 2, 3)] 返回 [15]?

返回给定的x和y在Python中的2D PDF的值?