Skip to main content
 首页 » 编程设计

Python:在 .FIND() 方法中使用 AND 和 OR

2025年05月04日11java哥

假设我在解释器中输入以下代码:

var1 = 'zuuzuu' 

现在假设我输入:

var1.find('a') 

解释器返回-1。我理解,因为尚未找到子字符串。但请帮助我理解这一点:

var1.find('a' or 'z') #case 1 

返回-1

但是

var1.find('a' and 'z') #case 2 

返回 0

根据我头脑中的逻辑,解释器应该为情况 2 返回 -1,因为子字符串“a”和“z”不在字符串中。而在情况 1 中,应该返回 0,因为 'z' 是一个子字符串。

谢谢

请您参考如下方法:

表达式 'a' or 'z' 总是产生 'a'。表达式 'a' and 'z' 总是产生 'z'。它不是某种用于对容器进行查询的 DSL,它是一个简单的 bool 表达式(并且使用其结果调用 find)。如果你想说“字符串中有'a'或'z'”,你需要做

var1.find('a') != -1 or var.find('z') != -1 

对于第二个(字符串中的 'a' 和 'z'):

var1.find('a') != -1 and var.find('z') != -1