在一個Hadoop reduce程序的例子中,存在這樣一個「if」語句。我想知道是什麼 同一變量「a」在「如果」語句中使用兩次時表示,如下這個「if」語句是什麼意思?
if a and a == b:
print "It is working!"
在一個Hadoop reduce程序的例子中,存在這樣一個「if」語句。我想知道是什麼 同一變量「a」在「如果」語句中使用兩次時表示,如下這個「if」語句是什麼意思?
if a and a == b:
print "It is working!"
它將測試相等(a == b
)只有a
是truthy。
它可以改寫爲
if a:
if a == b:
print("It is working!")
注意運算符優先級:這是不等於if (a and a) == b
。
這個答案從優秀到卓越的評論都很好。 – SethMMorton 2014-09-02 18:36:31
這裏沒有真正的魔法。
和and
表達方式如果雙方都是真的。
a
是真的如果它不是False
,None
,0數字0或空集合。
a == b
is truthy iff a
and b
是相等的(在某種意義上適合於它們的類型)。
因此,舉例來說,如果a
和b
可以是一個列表或None
,這將如果a
是一個非空列表和b
是一個非空列表具有相同的價值觀是真實的。
這意味着你正在檢查以確保'a'存在/不是'False'且'b'等於'a'。 – RevanProdigalKnight 2014-09-02 18:24:12
基本上,如果'a'存在或不是假 - 並且'a'等於'b'則打印該語句 – Jay 2014-09-02 18:24:16