How would I check a string for a certain letter in Python?

Question:

How would I tell Python to check the below for the letter x and then print “Yes”? The below is what I have so far…

dog = "xdasds"
 if "x" is in dog:
      print "Yes!"
Asked By: Noah R

||

Answers:

Use the in keyword without is.

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

If you’d like to check for the non-existence of a character, use not in:

if "x" not in dog:
    print "No!"
Answered By: ide

in keyword allows you to loop over a collection and check if there is a member in the collection that is equal to the element.

In this case string is nothing but a list of characters:

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

You can check a substring too:

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

Think collection:

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

You can also test the set membership over user defined classes.

For user-defined classes which define the __contains__ method, x in y is true if and only if y.__contains__(x) is true.

Answered By: pyfunc

If you want a version that raises an error:

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

If you want a version that returns -1:

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

This is more efficient than the ‘in’ syntax

Answered By: Foo Bah
Categories: questions Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.