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