首页  >  文章  >  后端开发  >  为什么 Python 中 `(1 in [1,0] == True)` 的计算结果为 False?

为什么 Python 中 `(1 in [1,0] == True)` 的计算结果为 False?

Susan Sarandon
Susan Sarandon原创
2024-11-03 18:17:30837浏览

Why Does `(1 in [1,0] == True)` Evaluate to False in Python?

解开:为什么 '(1 in [1,0] == True)' 计算结果为 False

表达式 ' Python 中的 (1 in [1,0] == True)' 最初看起来可能违反直觉,当人们期望它为 True 时,其结果却为 False。为了解开这个谜团,我们必须深入研究 Python 求值过程的内部工作原理。

奇怪的是,Python 将此表达式解释为一系列比较,而不是对布尔值的直接检查。表达式的真实结构显示为:

(1 in [1,0]) and ([1,0] == True)

此比较链的计算结果为 False,因为第一个表达式 '(1 in [1,0])' 返回 True,而第二个表达式返回 True , '([1,0] == True)' 计算结果为 False。

这种比较链的现象也出现在其他表达式中,例如 'a

(a < b) and (b < c)

无需对 'b' 进行两次冗余求值。

理解 Python 求值行为的这一方面至关重要,以避免在处理复杂的情况时出现意外结果涉及比较的表达式。

以上是为什么 Python 中 `(1 in [1,0] == True)` 的计算结果为 False?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn