Python in: The List/String Contains Operator in Python
The in
operator in Python checks if a specified value exists within a sequence, such as a list, tuple, or string.
In Python, the in
keyword also helps iterate over sequences in for loops (link).
How to Use the in Operator in Python
in
needs a value to search for and a sequence to search within, returning a boolean. The in
operator returns True
if the specified value is exists within a sequence. Conversely, the operator returns False
if the specified value doesn’t exist.
python
value in sequence
value
: The value to search within the sequence.sequence
: The list, tuple, string, or other sequence to search.
When to Use the in Operator in Python
The in
operator is especially useful for checking membership in collections and substrings in strings.
Checking for Element Presence
You can use the in
operator to check if an element exists in a list, string, tuple, or other sequence.
python
fruits = ['apple', 'banana', 'cherry']
print('apple' in fruits) # Outputs: True
print('grape' in fruits) # Outputs: False
Checking If a String Contains a Substring
The in
operator is efficient for checking if a substring is present within a string.
python
sentence = "The quick brown fox"
print("quick" in sentence) # Outputs: True
print("slow" in sentence) # Outputs: False
Validating User Input
You can validate user input by checking if the input contains required characters or substrings.
python
user_input = "hello@domain.com"
if "@" in user_input:
print("Valid email") # Outputs: Valid email
else:
print("Invalid email")
Examples of Using the Python in
Operator
Game Item Collection
In a game, you might use the in
operator to check if a player has collected a specific item.
python
inventory = ['sword', 'shield', 'potion']
print('sword' in inventory) # Outputs: True
print('bow' in inventory) # Outputs: False
Social Media User Validation
A social media app can use the in
operator to check if a username is still available.
python
registered_users = ['alice', 'bob', 'charlie']
username = 'alice'
if username in registered_users:
print("Username is taken") # Outputs: Username is taken
else:
print("Username is available")
Search Engine Keyword Match
A search engine might use the in
operator to check if a keyword is present in a search query.
python
search_query = "best Python tutorials"
keyword = "Python"
if keyword in search_query:
print("Keyword found") # Outputs: Keyword found
else:
print("Keyword not found")
Learn More About the Python in Operator
Python String contains() Method
Unlike other programming languages, there’s no built-in method like string contains()
in Python. Instead, however, you can use the in
operator to check if a string contains a substring.
python
text = "Learning Python is fun"
# No string.contains() method
print("Python" in text) # Outputs: True
print("Java" in text) # Outputs: False
Case Sensitivity
Like other string operation in the Python programming language, the in
operator is case-sensitive. For case-insensitive checks, you can convert both strings to the same case.
python
text = "Hello World"
print('hello' in text.lower()) # Outputs: True
print('HELLO' in text.upper()) # Outputs: True
Performance Considerations
The in
operator usually offers good performance with most sequences, including large collections.
python
large_list = list(range(1000000))
print(999999 in large_list) # Outputs: True
Using in with Dictionaries
You can also use the in
operator to check for the presence of keys in a dictionary.
python
student = {'name': 'Alice', 'age': 24}
print('name' in student) # Outputs: True
print('address' in student) # Outputs: False
Complex Conditions
You can combine the in
operator with Python logical operators for complex conditions.
python
permissions = ['read', 'write']
if 'read' in permissions and 'write' in permissions:
print("User has read and write permissions") # Outputs: User has read and write permissions