标签: boolean-operations

对布尔列表中的元素布尔运算符是否有内置函数?

例如,如果你有n个相同长度的bool列表,那么elementwise boolean AND应该返回另一个列表,该列表的长度在所有输入列表都为True的位置为True,其他地方为False.

它很容易编写,我只是希望使用内置(如果存在)(为了标准化/可读性).

这是元素AND的实现:

def eAnd(*args):
    return [all(tuple) for tuple in zip(*args)]
Run Code Online (Sandbox Code Playgroud)

示例用法:

>>> eAnd([True, False, True, False, True], [True, True, False, False, True], [True, True, False, False, True])
[True, False, False, False, True]
Run Code Online (Sandbox Code Playgroud)

python list built-in boolean-operations elementwise-operations

27
推荐指数
2
解决办法
2万
查看次数

在IF条件下使用NOT运算符

在IF条件下避免使用NOT运算符以使代码更易读,这是一个很好的做法吗?我听说if (doSomething())那时比较好if (!doSomething()).

java boolean-operations

27
推荐指数
3
解决办法
23万
查看次数

如何在编程语言中编写"x == 1或2"?

可能重复:
为什么大多数编程语言只有二进制相等比较运算符?

自从我开始学习编程语言以来,我有一个很长时间的简单问题.

我想写"如果x是1或2 => TRUE(否则为FALSE)."

但是当我用编程语言编写它时,比如C,

( x == 1 || x == 2 )
Run Code Online (Sandbox Code Playgroud)

它确实有效,但看起来很尴尬,难以阅读.我想应该可以简化这样的操作,所以如果您有任何想法,请告诉我.谢谢,内森

language-design boolean-operations

25
推荐指数
8
解决办法
2404
查看次数

在Python字符串中使用"and"和"or"运算符

我不明白这条线的含义:

parameter and (" " + parameter) or ""
Run Code Online (Sandbox Code Playgroud)

其中parameter是string

为什么人们想要使用andor运算符,一般来说,使用python字符串?

python string boolean-operations

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

对数据帧的两列进行逻辑运算

在pandas中,我想创建一个计算列,它是另外两列的布尔运算.

在pandas中,很容易将两个数字列相加.我想用逻辑运算符做类似的事情AND.这是我的第一次尝试:

In [1]: d = pandas.DataFrame([{'foo':True, 'bar':True}, {'foo':True, 'bar':False}, {'foo':False, 'bar':False}])

In [2]: d
Out[2]: 
     bar    foo
0   True   True
1  False   True
2  False  False

In [3]: d.bar and d.foo   ## can't
...
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Run Code Online (Sandbox Code Playgroud)

所以我猜逻辑运算符与pandas中的数字运算符的工作方式不同.我尝试做错误消息建议和使用bool():

In [258]: d.bar.bool() and d.foo.bool()  ## spoiler: this doesn't work either
...
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), …
Run Code Online (Sandbox Code Playgroud)

boolean-operations pandas

22
推荐指数
2
解决办法
2万
查看次数

JavaScript中的双管道(||)抛出错误而不是评估为假

我读到JavaScript中的双管道检查变量是否是假的,这undefined是JavaScript中的虚假值,例如

这意味着如果值为falsey(例如0,"",null,undefined(另请参见JavaScript中的所有falsey值)),则将其视为false; 否则它被视为真实.

所以我尝试了这一点,发现undefined确实没有被评估为假,而是抛出一个错误:

let elemContent = document.getElementById('content');

let a = null;
let b = 2;

elemContent.innerHTML += a || 'ok'; // "ok"
elemContent.innerHTML += b || 'ok'; // "2"
elemContent.innerHTML += whatever || 'ok'; // "ERROR: whatever is not defined"
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/ueqo6yko

是否是undefinedJavaScript中的虚假价值,或者如何理解这一矛盾?

javascript undefined boolean-operations

22
推荐指数
3
解决办法
2753
查看次数

deMorgan规则解释道

您能否尽可能简单地解释deMorgan规则(例如,对于只有中学数学背景的人)?

demorgans-law boolean-operations

21
推荐指数
3
解决办法
2万
查看次数

使用'或die()'来停止PHP中的错误

通常在PHP中,我看到:

$result = mysql_query($query) or die();
Run Code Online (Sandbox Code Playgroud)

来自python,我知道为什么这应该工作,因为or如果在布尔上下文中为真,则返回第一个值,否则返回第二个值(请参阅).

但是当我在另一个上下文中尝试PHP中的上述技术时,例如:

$name = "John Doe";
echo $name or "Anonymous";
Run Code Online (Sandbox Code Playgroud)

or不返回的第一个值("张三"),则返回1.

为什么这在mysql_query()结果案例中有效,但在其他情况下却没有?在mysql_query()情况下使用是否不好(忽略我没有向用户返回有用错误的事实)?

php boolean-operations

18
推荐指数
1
解决办法
4646
查看次数

布尔表达式的对偶和补码之间有什么区别?

它是一回事吗?还是有一点点差异?我只是想确保我不会误解任何事情.

boolean-logic boolean boolean-expression boolean-operations

18
推荐指数
2
解决办法
7万
查看次数

如何在不使用SELECT查询的情况下获取Room持久性数据库中具有布尔值true(或1)的行数?

我在我的项目中使用Room持久性数据库.我有一个表,其中有一个布尔值列,如0或1,现在我想要所有布尔值的计数,其值为true(或1).

我知道我可以通过使用where子句获取所有选定行的计数来使用select查询实现此目的!

但我不想使用选择查询与where子句为此,因为它将加载所有行,然后我将得到计数,但我想要计数而不加载任何行!建议其他简单的解决方案!谢谢!

database android boolean-operations booleanquery android-room

16
推荐指数
1
解决办法
1万
查看次数