所以我偶然发现了一个问题(最终通过实验解决了),检查了元组中是否存在字符串。

if 'String1' or 'String2' in tuple:


即使两个都不在元组中也评估为True

if 'String1' in tuple or 'String2' in tuple:


给我想要的结果。

第一个变体实际评估了什么?

编辑:@ Cricket_007 ...您在受骗报告中指出的问题未涵盖in,因此我认为这不是受骗。

最佳答案

区别在于in容器检查,
如果您违反以下声明:if 'String1' or 'String2' in tuple:


'String1'返回True,因为只要字符串不为空,测试str()返回True
'String2' in tuple仅在字符串包含在元组中时返回True


第一个条件始终返回True。

第二行首先测试两个变量是否包含in,然后在结果之间执行or

关于python - 如果在元组中为string1或string2,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46248902/

10-12 21:49