0
I can't find an explanation for a seemingly simple problem:why is the answer always False in this task?
arr=[1,True,"a",2] print("a" in arr in arr)
2 Answers
+ 4
Chained operators tend to work a funny way in python. In your case, there are two and-chained containment operations.
("a" in arr) and (arr in arr)
The first is true, the second however false. Hence the output.
This is different from ("a" in arr) in arr, this would evaluate first to True for "a" in arr. Then evaluate True in arr, which is also true The output then would be True.
0
arr=[1,True,"a",2]
Because arr is a list. Did you find a list in arr? No.
Let me show it:
Is 1 == [1,True,"a",2] ? No
Is True == [1,True,"a",2] ? No
Is "a" == [1,True,"a",2] ? No
Is 2 == [1,True,"a",2] ? No
So it will be never true.