【问题标题】:Trying to bitwise and two lists in python尝试在python中按位和两个列表
【发布时间】:2020-03-24 22:51:04
【问题描述】:

我在 python shell 中执行了以下操作。第一个和第三个输出是正确的,但第二个输出是错误的。我知道我可以使用 zip 函数来做到这一点,但我想知道为什么 python 会这样做。

>>> [1,1,1,1] and [1,0,0,0]
[1, 0, 0, 0]
>>> [1,0,0,0] and [1,1,0,0]
[1, 1, 0, 0]
>>> [1,1,1,1] and [0,0,0,0]
[0, 0, 0, 0]

【问题讨论】:

标签: python command-line data-science python-3.7


【解决方案1】:

正如提到的:Python AND operator on two boolean lists - how?
“并且根据它们的真值简单地返回第一个或第二个操作数。如果第一个操作数被认为是假的,则返回它,否则返回另一个操作数。”作者:Martijn Pieters

[1,1,1,1] and [1,0,0,0]
=> [1, 0, 0, 0] which is second operand while first is true.

另一个例子:

a=2
print(a==3 and [1,1,0,0])

返回Falsea==3 is false
还有

a=2
print(a==2 and [1,1,0,0])

返回[1,1,0,0]a==2 is true

【讨论】:

    猜你喜欢
    • 2022-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-25
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    • 2021-12-12
    相关资源
    最近更新 更多