标签: comparison

为什么使用'=='或'is'比较字符串有时会产生不同的结果?

我有一个Python程序,其中两个变量设置为该值'public'.在条件表达式中,我的比较var1 is var2失败了,但是如果我将其更改为var1 == var2它则返回True.

现在,如果我打开我的Python解释器并进行相同的"是"比较,它就会成功.

>>> s1 = 'public'
>>> s2 = 'public'
>>> s2 is s1
True
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

python string comparison identity equality

1076
推荐指数
13
解决办法
148万
查看次数

JavaScript中的对象比较

在JavaScript中比较对象的最佳方法是什么?

例:

var user1 = {name : "nerd", org: "dev"};
var user2 = {name : "nerd", org: "dev"};
var eq = user1 == user2;
alert(eq); // gives false
Run Code Online (Sandbox Code Playgroud)

我知道如果它们引用完全相同的对象,则两个对象是相等的,但有没有办法检查它们是否具有相同的属性值?

以下方式对我有用,但这是唯一的可能性吗?

var eq = Object.toJSON(user1) == Object.toJSON(user2);
alert(eq); // gives true
Run Code Online (Sandbox Code Playgroud)

javascript comparison object object-comparison

1021
推荐指数
7
解决办法
85万
查看次数

Mercurial和Git有什么区别?

我一直在Windows上使用git一段时间(使用msysGit),我喜欢分布式源代码控制的想法.就在最近,我一直在关注Mercurial(hg),它看起来很有趣.但是,我无法解决hg和git之间的差异.

有没有人在git和hg之间进行并列比较?我很想知道hg和git的不同之处,而不必参加讨论.

git version-control comparison mercurial dvcs

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

在bash中,如何检查字符串是否以某个值开头?

我想检查字符串是否以"node"开头,例如"node001".就像是

if [ $HOST == user* ]  
  then  
  echo yes  
fi
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能正确?


我还需要组合表达式来检查HOST是"user1"还是以"node"开头

if [ [[ $HOST == user1 ]] -o [[ $HOST == node* ]] ];  
then  
echo yes 
fi

> > > -bash: [: too many arguments
Run Code Online (Sandbox Code Playgroud)

怎么做正确?

string bash comparison

677
推荐指数
12
解决办法
57万
查看次数

何时在MongoDB上使用CouchDB,反之亦然

我被困在这两个NoSQL数据库之间.

在我的项目中,我将在数据库中创建一个数据库.例如,我需要一个创建动态表的解决方案.

因此用户可以创建包含列和行的表.我认为MongoDB或CouchDB对此都有好处,但我不确定是哪一个.我也需要高效的分页.

comparison performance couchdb mongodb nosql

612
推荐指数
7
解决办法
19万
查看次数

如何针对值测试多个变量?

我正在尝试创建一个函数,将多个变量与一个整数进行比较,并输出一个由三个字母组成的字符串.我想知道是否有办法将其翻译成Python.所以说:

x = 0
y = 1
z = 3
mylist = []

if x or y or z == 0 :
    mylist.append("c")
if x or y or z == 1 :
    mylist.append("d")
if x or y or z == 2 :
    mylist.append("e")
if x or y or z == 3 : 
    mylist.append("f")
Run Code Online (Sandbox Code Playgroud)

这将返回一个列表

["c", "d", "f"]
Run Code Online (Sandbox Code Playgroud)

这样的事情可能吗?

python comparison boolean-logic if-statement match

594
推荐指数
19
解决办法
19万
查看次数

equ?,eql?,===和==之间有什么区别?

我试图理解这四种方法之间的区别.我知道默认情况下==调用的方法equal?在两个操作数引用完全相同的对象时返回true.

===默认情况下也调用==哪个调用equal?...好吧,所以如果所有这三个方法都没有被覆盖,那么我猜 ===,==并且equal?做同样的事情?

现在来了eql?.这是做什么的(默认情况下)?它是否调用操作数的hash/id?

为什么Ruby有这么多的平等标志?他们应该在语义上有所不同吗?

ruby comparison equality operators

537
推荐指数
6
解决办法
20万
查看次数

如何进行不区分大小写的字符串比较?

如何在Python中进行不区分大小写的字符串比较?

我想以一种非常简单和Pythonic的方式将常规字符串的比较封装到存储库字符串中.我还希望能够使用常规python字符串在字符串中查找值.

python comparison case-insensitive

525
推荐指数
6
解决办法
64万
查看次数

Python中的字符串比较:是vs ==

我注意到我写的一个Python脚本是松散的,并将其追溯到一个无限循环,循环条件是while line is not ''.在调试器中运行它,事实证明该行''.当我改为!=''而不是is not '',它工作得很好.

另外,通常认为默认情况下使用'=='会更好,即使在比较int或Boolean值时也是如此?我一直喜欢使用'是'因为我发现它更美观和pythonic(这就是我陷入这个陷阱...),但我想知道它是否只是为了保留当你关心找到两个具有相同id的对象.

python string comparison equality

524
推荐指数
4
解决办法
97万
查看次数

PHP等式(== double equals)和identity(=== triple equals)比较运算符有何不同?

==和之间有什么区别===

  • 松散的==比较究竟是如何运作的?
  • 严格的===比较究竟是如何运作的?

什么是有用的例子?

php comparison equality operators identity-operator

483
推荐指数
9
解决办法
29万
查看次数