我有这段代码:
url='http://mybeautifulurl.com'
('h' or 'f') in url[0:4] #This is True
('f' or 'h') in url[0:4] #This is False
我只是想了解为什么'或'运营商似乎只评估第一个条件。
答案 0 :(得分:3)
如果or
计算结果为true(作为bool),则返回第一个元素,否则返回第二个元素......它通常用于设置默认值。
这样,'h' or 'f'
只是'h'
而'f' or 'h'
只是'f'
。
您可以通过以下方式实现您想要的目标:
any(x in url[:4] for x in ['h', 'f'])