为什么这个表达式的值在python中等于false?

时间:2018-04-26 01:48:19

标签: python

为什么这个表达式的值“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?

1 个答案:

答案 0 :(得分:2)

这是因为Python的comparison chaining

3 == 4 in [False]

被解释为比较运算符链,相当于

(3 == 4) and (4 in [False])

请参阅

'a' == 'a' in ['a']
# True