Is this some kind of ternary operation?
print([False, True][True])
Why is the output True?
CodePudding user response:
Because the True
is interpreted as the index location 1
.
Try [1, 2, 3][True]
and you will get 2
.
CodePudding user response:
In this case Python translates True to 1 (and False to 0). Index 1 means that you are accessing the second element in the array which in this case is true.
So if you try print([True, False][True])
it will output False, print([True, False][False])
will output True, ...
CodePudding user response:
The numeric representation of True
is 1
(0
for False
)
You can try print(int(True))
, it will output 1
print([False, True][True])
will then be quivalent to print([False, True][1])
, and then, display True