如何在Python中检查字符串是否包含特定字母?

35 投票
3 回答
269141 浏览
提问于 2025-04-16 11:06

我该怎么告诉Python去检查下面的内容是否有字母x,然后打印“是的”?下面是我目前的代码...

dog = "xdasds"
 if "x" is in dog:
      print "Yes!"

3 个回答

5

如果你想要一个会报错的版本:

"string to search".index("needle") 

如果你想要一个返回 -1 的版本:

"string to search".find("needle") 

这个方法比使用 'in' 语法更有效率

8

in 关键字可以让你遍历一个集合,检查这个集合里是否有某个元素和你要找的元素相等。

在这里,字符串其实就是一串字符的列表:

dog = "xdasds"
if "x" in dog:
     print "Yes!"

你也可以检查一个子字符串:

>>> 'x' in "xdasds"
True
>>> 'xd' in "xdasds"
True
>>> 
>>> 
>>> 'xa' in "xdasds"
False

可以把集合想象成:

>>> 'x' in ['x', 'd', 'a', 's', 'd', 's']
True
>>> 

你还可以在自己定义的类中测试元素是否属于某个集合。

对于那些定义了 __contains__ 方法的用户自定义类来说,x in y 只有在 y.__contains__(x) 为真时才为真。

59

使用 in 这个关键词时,不要加 is

if "x" in dog:
    print "Yes!"

如果你想检查某个字符是否不存在,可以用 not in

if "x" not in dog:
    print "No!"

撰写回答