问题描述
我已经使用Python一段时间了。我最近发现,当您在列表上使用内置函数or
和and
时,会得到奇怪的结果。
我所知道的
根据 official documentation, 这些功能应该像它们的逻辑对一样工作
Boolean Operations — and,or,not from (Official Documentation)
,并且这些运算符默认情况下已配置为与list
一起使用。
问题(疑问)
当我尝试将这些功能与list
一起使用时,发生了一件奇怪的事情。这些功能似乎互换了。
如何复制它
另外,这些功能似乎可以正常工作
>>> True and True
True
>>> True and False
False
>>> False and False
False
>>>
>>> True or True
True
>>> False or True
True
>>> False or False
False
我们将列表a,b
定义为
>>> a = [ True,False,False]
>>> b = [ True,True]
>>>
>>> a and b
[True,True]
>>> a or b
[True,False]
实用
在尝试为类实用程序创建逻辑接口时遇到了此问题。
最后,在某些情况下,我决定创建一个class Proposition
并重载其运算符以接收预期的结果。但是我对这种行为感到疑惑。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)