我们var a = "first", b = "second", c = "first";
表达式a == c
返回true
,(当然!); a == c
也是true
那么为什么a == a == c
会返回false
?
示例
var a = "first", b = "second", c = "first";
write( a != b != c );
write( a == b != c );
write( a == b == c );
write( a != b == c );
write("");
write( a == a == c );
// -------------------
function write(val) {document.querySelector("console").innerHTML += "<hr noshade size='1px' color='#eee'>" + String(val);}
<console></console>
答案 0 :(得分:3)
答案 1 :(得分:1)
因为它从左到右,一次只有一个import pandas as pd
import numpy as np
index = 'A A A B B C D D'.split()
col1 = [120, 90, 80, 80, 50, 120, 150, 150]
ser = pd.Series(col1, index=index)
# use groupby and keep the first element
ser.groupby(level=0).first()
Out[200]:
A 120
B 80
C 120
D 150
dtype: int64
,并且每个前一个==
操作的结果都是布尔值:
==
你需要这样做:
(a == a) === true
(true == c) === false
或更好(因为这是JavaScript):
a == a && a == c
或者,可以写入 CoffeeScript ,它将翻译:
a === a && a === c
到
a == a == c
给你。
答案 2 :(得分:0)
a == c
返回一个布尔值(true
)。
由于a
不是布尔值,因此它不可能等于a == c
。