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

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

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

and
只需根据它们的真实值返回第一个或第二个 *** 作数。如果第一个 *** 作数被认为是假,则返回它,否则返回另一个 *** 作数。

名单被认为是 真实的 ,当 不为空 ,那么这两个列表被认为是真实的。它们的内容 在这里不起作用

由于两个列表都不为空,因此

x and y
只需返回第二个列表对象;仅当
x
为空时,才返回:

>>> [True, False] and ['foo', 'bar']['foo', 'bar']>>> [] and ['foo', 'bar'][]

请参阅Python文档中的“ 真值测试”
部分

可以测试任何对象的真值,用在

if
while
条件中或用作以下布尔运算的 *** 作数。以下值为“假”:

[…]

  • 任何空序列,例如
    ''
    ()
    []


[…]

所有其他值都被认为是真实的 -因此许多类型的对象总是真实的。

(重点是我的),以及其下方的 布尔运算
部分

x and y

如果 x 为假,则为 x ,否则为 y

这是一个短路运算符,因此,如果第一个参数为,则它仅计算第二个参数

True

您确实需要显式测试列表中 包含
的值。如您所见,您可以通过列表理解来做到这一点。您可以使用

zip()
函数将其重写以配对值:

[a and b for a, b in zip(x, y)]


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5623589.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-15

发表评论

登录后才能评论

评论列表(0条)

    保存