Can someone please explain to me
Why
ais a list of True/False, whilebis a list of lambdas?Why does the rule does not apply to
candd?
Codes:
foo = (lambda a, b: a >= b) if False else (lambda a, b: a <= b)
a = [foo(x, x+1) for x in xrange(10)]
foo = lambda a, b: a >= b if False else lambda a, b: a <= b
b = [foo(x, x+1) for x in xrange(10)]
bar = (lambda a, b: a*b*10) if False else (lambda a, b: a*b*100)
c = [bar(x, x+1) for x in xrange(10)]
bar = lambda a, b: a*b*10 if False else lambda a, b: a*b*100
d = [bar(x, x+1) for x in xrange(10)]
Thank you in advance.
foo = lambda a, b: a >= b if descending else lambda a, b: a <= bthere is no delimeter indicating the end of the lambda, so the if-else is inside the lambda. If descending is false, the else runs, and the outer lambda returnslambda a, b: a <= b.descendinghas been replaced withTrue. Thanks @BlackBear, @Joran Beasley