标签: boolean-expression

合并共享共同元素的列表

我的输入是一个列表列表.其中一些有共同的要素,例如.

L = [['a','b','c'],['b','d','e'],['k'],['o','p'],['e','f'],['p','a'],['d','g']]
Run Code Online (Sandbox Code Playgroud)

我需要合并所有共享一个共同元素的列表,并且只要没有更多具有相同项目的列表,就重复此过程.我考虑过使用布尔运算和while循环,但无法提出一个好的解决方案.

最终结果应该是:

L = [['a','b','c','d','e','f','g','o','p'],['k']] 
Run Code Online (Sandbox Code Playgroud)

python merge join list boolean-expression

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

什么是 "!!" 在C?

我遇到了以下代码段:

pt->aa[!!(ts->flags & MASK)] = -val;
Run Code Online (Sandbox Code Playgroud)
  1. 什么!!(双惊叹号/感叹号/两个非操作符)代表c?
  2. 不是(!!NULL) == NULL吗?

c gcc boolean boolean-expression

38
推荐指数
3
解决办法
6367
查看次数

if(boolean == false)vs.​​if(!boolean)

可能重复:
明确地与布尔常量进行比较是不是很糟糕,例如在Java中是否(b == false)?

这个NotePadProvider示例代码中,我注意到作者选择了以下表单:

    if (values.containsKey(NoteColumns.CREATED_DATE) == false) {
        values.put(NoteColumns.CREATED_DATE, now);
    }
Run Code Online (Sandbox Code Playgroud)

过度:

    if (!values.containsKey(NoteColumns.CREATED_DATE)) {
        values.put(NoteColumns.CREATED_DATE, now);
    }
Run Code Online (Sandbox Code Playgroud)

第一种形式在更合乎逻辑的形式上是否有任何优势?

java boolean-logic boolean boolean-expression

36
推荐指数
4
解决办法
9万
查看次数

三个值的XOR

进行三向异或的最简单方法是什么?

换句话说,我有三个值,我想结果为true IFF只声明一个三个值是真实的.

到目前为止,这是我提出的:

((a ^ b)&&(a ^ c)&&!(b && c))|| ((b ^ a)&&(b ^ c)&&!(a && c))|| ((c ^ a)&&(c ^ b)&&!(a && b))

是否有更简单的事情做同样的事情?


以下是上述完成任务的证明:

a = true; b = true; c = true
((a ^ b) && (a ^ c) && !(b && c)) || ((b ^ a) && (b ^ c) && !(a && c)) || ((c ^ a) && (c ^ b) && !(a && b))
=> false

a = true; b = …
Run Code Online (Sandbox Code Playgroud)

language-agnostic logic boolean xor boolean-expression

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

Ruby:布尔属性命名约定和使用

学习红宝石.我的印象是布尔属性应该如下命名:

my_boolean_attribute?
Run Code Online (Sandbox Code Playgroud)

但是,尝试执行以下操作时出现语法错误:

class MyClass
  attr_accessor :my_boolean_attribute?

  def initialize
    :my_boolean_attribute? = false
  end
end
Run Code Online (Sandbox Code Playgroud)

红宝石显然很讨厌"?".这是惯例吗?我究竟做错了什么?

ruby attributes conventions boolean-expression

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

PHP到javascript实现中的布尔变量值

我在编写的PHP脚本中遇到了一个奇怪的问题 - 我确信这是一个简单的答案,但我没有看到它.

我正在使用PHP从数据库中提取一些变量,然后将这些值传递给在PHP中动态构建的Javascript.像这样的东西:

$myvar = (bool) $db_return->myvar;

$js = "<script type=text/javascript>
        var myvar = " . $myvar . ";
        var myurl = 'http://someserver.com/ajaxpage.php?urlvar=myvar';
       </script>";
Run Code Online (Sandbox Code Playgroud)

问题是如果DB中"myvar"的布尔值是false,那么$ js中myvar的实例是null,而不是false,这就破坏了脚本.

有没有办法将值正确传递false给myvar变量?

谢谢!

javascript php boolean-expression

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

Java中的布尔表达式评估顺序?

假设我有以下表达式

String myString = getStringFromSomeExternalSource();
if (myString != null && myString.trim().length() != 0) {
...
}
Run Code Online (Sandbox Code Playgroud)

Eclipse警告我,myString在布尔表达式的第二个短语中可能为null.但是,我知道有些编译器会在第一个条件失败时完全退出布尔表达式.这对Java来说是真的吗?或者评估顺序不保证?

java boolean-logic boolean-expression compiler-warnings

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

Java boolean | =运算符

最近我看到一个代码使用这个:

boolean val = something();
val |= somethingElse();
Run Code Online (Sandbox Code Playgroud)

有趣的部分是| =(二进制)运算符在布尔基元类型上制作.

令我感到惊讶的是,布尔值存在| =存在,好像它是整数类型,并搜索此运算符的Java规范,但找不到任何.

如果左值已经为真,我会好奇是否评估右操作数.

有人能指出我的Java规范吗?

java specifications operators boolean-expression compound-assignment

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

什么时候在守卫测试中更喜欢`和`而不是`andalso`

我很好奇为什么逗号<,>是一个快捷方式and而不是andalso保护测试.

由于我称自己为"C native",我没有看到短路布尔评估的任何缺点.

我使用to_core标志编译了一些测试代码,以查看实际生成的代码.使用逗号,我看到左手值,右边和值得到评估,并且两者都是和.随着andalso你的情况下块内的情况下块,并没有呼叫erlang:and/2.

我没有进行基准测试,但我敢说andalso变体是更快的.

erlang boolean-expression short-circuiting

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

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

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

boolean-logic boolean boolean-expression boolean-operations

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