【发布时间】:2014-01-15 06:43:24
【问题描述】:
我在一个涉及布尔运算的 "if" 条件语句中遇到了这个 Python 场景。每当条件中出现索引错误时,Python 会将其视为 False,而不是抛出 Index Error。这种行为的原因是什么。
示例场景:
lst = [3, 4, 23, 5, 25, 76]
n = len(lst)
if n < 5 and lst[6] > lst[2]:
print True
print False
输出:
False
如您所见,为什么 Python 返回 False?,我原以为它会抛出 Index Error。谁能解释一下幕后发生的事情。
【问题讨论】:
-
因为
if的后半部分是否为假不需要评估...(它可以短路)例如将其更改为n < 20...或更改and到or
标签: python algorithm python-2.7 if-statement boolean