为什么这个布尔表达式的值为False?

2024-04-26 17:50:02 发布

您现在位置:Python中文网/ 问答频道 /正文

有人能解释一下为什么Python解释器计算这个表达式是假的吗?你知道吗

1 in [1] == True

我希望[1]中的1会求值为True,显然True==True就是True。然而,事实并非如此-表达式是错误的。为什么会这样?你知道吗


Tags: intrue表达式错误解释器事实
2条回答

如果您有这样一个python表达式,请将其拆分为多个语句。事实上:

1 in [1] == True equals to: (1 in [1]) and ([1] == True)

右边是假的,因为[1] != True,整个句子是假的

==in都是比较运算符。当您有多个这样的比较运算符时,Python将其视为链式比较。例如,1 < x < 10等价于1 < x and x < 10。你知道吗

在您的例子中,1 in [1] == True等价于(1 in [1]) and ([1] == True),其计算结果为False。你知道吗

相关问题 更多 >