Как проверить строку для определенного письма в Python?

Как я могу сказать Python проверить ниже для буквы x, а затем напечатать "Да"? Ниже приводится то, что у меня есть до сих пор...

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

Ответы

Ответ 1

Используйте ключевое слово in без is.

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

Если вы хотите проверить отсутствие символа, используйте not in:

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

Ответ 2

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 в y является истинным тогда и только тогда, когда y.__ содержит __ (x), является истинным.

Ответ 3

Если вам нужна версия, которая вызывает ошибку:

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

Если вы хотите версию, которая возвращает -1:

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

Это более эффективно, чем синтаксис "in"