Python"或"使用" in"声明

时间:2018-01-25 10:26:10

标签: python logical-operators

我有这段代码:

url='http://mybeautifulurl.com'

('h' or 'f') in url[0:4] #This is True
('f' or 'h') in url[0:4] #This is False

我只是想了解为什么'或'运营商似乎只评估第一个条件。

1 个答案:

答案 0 :(得分:3)

如果or计算结果为true(作为bool),则返回第一个元素,否则返回第二个元素......它通常用于设置默认值。

这样,'h' or 'f'只是'h''f' or 'h'只是'f'

您可以通过以下方式实现您想要的目标:

any(x in url[:4] for x in ['h', 'f'])