为什么这个表达式的值“3 == 4 in [1,'123',3 + 4j,4 in [1,2,3]]”在python中等于False?
在我看来:
3 == 4 => False
[1,'123',3+4j,4 in [1,2,3]] => [1,'123',3+4j, False]
False in [1,'123',3+4j, False] => True
那么,为什么值为False但不是True?
答案 0 :(得分:2)
这是因为Python的comparison chaining。
3 == 4 in [False]
被解释为比较运算符链,相当于
(3 == 4) and (4 in [False])
请参阅
'a' == 'a' in ['a']
# True