Sat*_*tya 2 python comparison boolean operators comparison-operators
是if a[start] <= target < a[mid]一样的a[start] <= target and target<a[mid] and a[start] < a[mid]吗?(我认为不是,但是看起来在外观上是相同的)这是如何工作的?搜索了SO,但找不到答案。
的
if a[start] <= target < a[mid]:
Run Code Online (Sandbox Code Playgroud)
基本上[*]与
if a[start] <= target and target < a[mid]:
Run Code Online (Sandbox Code Playgroud)
(如果为true,则遵循a[start] < a[mid],因为它<=应该是可传递的。)
[*]有一个微妙之处并不适用于您的情况,但值得了解。链接形式仅对中间表达式求值一次,而扩展形式对它求值两次。如果中间表达式的计算成本很高或有一些副作用(例如在屏幕上打印一些内容),则可能会很重要。
相关文档:https : //docs.python.org/3/reference/expressions.html#comparisons