相关疑难解决方法(0)

两个布尔列表上的Python AND运算符 - 如何?

我有两个布尔列表,例如,

x=[True,True,False,False]
y=[True,False,True,False]
Run Code Online (Sandbox Code Playgroud)

我想和这些列表一起使用预期的输出:

xy=[True,False,False,False]
Run Code Online (Sandbox Code Playgroud)

我认为这个表达x and y方式可行,但后来发现它没有:事实上,(x and y) != (y and x)

产量x and y:[True,False,True,False]

产量y and x:[True,True,False,False]

使用列表推导确实有正确的输出.呼!

xy = [x[i] and y[i] for i in range(len(x)]
Run Code Online (Sandbox Code Playgroud)

请注意,我找不到任何引用,告诉我AND运算符会在我尝试使用x和y时工作.但是在Python中尝试很容易.有人可以向我解释发生了x and y什么吗?

这是一个简单的测试程序:

import random
random.seed()
n = 10
x = [random.random() > 0.5 for i in range(n)]
y = [random.random() > 0.5 for i in range(n)]
# Next two methods look sensible, but do not …
Run Code Online (Sandbox Code Playgroud)

python boolean list operator-keyword

34
推荐指数
4
解决办法
3万
查看次数

标签 统计

boolean ×1

list ×1

operator-keyword ×1

python ×1