What Does This "if" Statement Mean?
In an example Hadoop reduce program, such an 'if' statement exists. I am wondering what it means when the same variable 'a' is used twice in the 'if' statement, as follows if a and
Solution 1:
It will test for equality (a == b) only if a is truthy.
It can be rewritten as
if a:
if a == b:
print("It is working!")
Note the operator precedence: it's not equal to if (a and a) == b.
Solution 2:
There's no real magic here.
And and expression is truthy iff both sides are truthy.
a is truthy iff it's not False, None, a numeric 0, or an empty collection.
a == b is truthy iff a and b are equal (in some sense appropriate to their type).
So, for example, if a and b can be either a list or None, this will be true if a is a non-empty list and b is a non-empty list with the same values.
Post a Comment for "What Does This "if" Statement Mean?"