【问题标题】:the use of boolean logic "and" and bitwise operator "&" [duplicate]使用布尔逻辑“and”和按位运算符“&”[重复]
【发布时间】:2017-01-11 05:37:44
【问题描述】:

抱歉这个基本问题,我只是 Python 编程的初学者。 根据我的理解,& 和“and”是相同的东西,“&”只是“and”的简写,所以如果我使用 Python 的数据框

df[ (df.StateAb == "NSW") & (df.PartyAb == "LP") ]

这编译OK,但如果我输入

df[ (df.StateAb == "NSW") and (df.PartyAb == "LP") ]

那就不能正确编译了。

那么“and”和“&”有什么区别,

【问题讨论】:

标签: python boolean bitwise-operators boolean-logic


【解决方案1】:

我发现这个很有用:

1 and 2
>> 2

1 & 2
>> 0

第一个结果是由于短路。 Python 测试 1 并发现它为真并返回 2。但是,第二部分执行 01 (Binary 1) & 10 (Binary 2) 因此评估为 00 (1 & 0, 0 &1) ,即 0。

【讨论】:

  • 你的解释中有“第一”和“第二”。
猜你喜欢
  • 2011-09-11
  • 2014-05-10
  • 1970-01-01
  • 1970-01-01
  • 2016-07-18
  • 2011-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多