The in keyword is one of the most versatile and powerful operators in Python. It allows you to check for membership in sequences such as strings, lists, tuples, and sets. This blog will take you through five levels of complexity, demonstrating how in can be used in different ways.
Level 1: Basic Membership Check in Strings
At the most basic level, the in keyword can be used to check whether a substring exists within a string. Here’s a simple program to illustrate:
# Level 1: Checking substring presence in a string
sentence = "Hello, world!"
word = "world"
if word in sentence:
print(f"'{word}' is found in the sentence.")
else:
print(f"'{word}' is not found in the sentence.")
Output:
'world' is found in the sentence.
Explanation:
- The
inoperator checks if the substringwordis present in the stringsentence.
Level 2: Membership Check in Lists
The in operator works with lists as well. You can use it to check if an item exists in a list:
# Level 2: Checking element presence in a list
fruits = ["apple", "banana", "cherry", "mango"]
fruit_to_check = "banana"
if fruit_to_check in fruits:
print(f"{fruit_to_check} is in the fruit list.")
else:
print(f"{fruit_to_check} is not in the fruit list.")
Output:
banana is in the fruit list.
Explanation:
- The
inoperator checks whetherfruit_to_checkexists in thefruitslist.
Level 3: Iterating Over a Collection with in
You can use in to iterate through the elements of a collection, such as a list or a tuple. Here’s an example:
# Level 3: Iterating through a list using 'in'
numbers = [1, 2, 3, 4, 5]
for num in numbers:
print(num)
Output:
1
2
3
4
5
Explanation:
- The
for num in numbers:statement iterates over each element in the list and prints it.
Level 4: Using in with Dictionaries
In dictionaries, the in operator can be used to check if a specific key exists. Here’s an example:
# Level 4: Checking key presence in a dictionary
student_grades = {"Alice": 85, "Bob": 90, "Charlie": 78}
student = "Bob"
if student in student_grades:
print(f"{student} exists in the dictionary with a grade of {student_grades[student]}.")
else:
print(f"{student} does not exist in the dictionary.")
Output:
Bob exists in the dictionary with a grade of 90.
Explanation:
- The
inoperator checks whetherstudentexists as a key in thestudent_gradesdictionary.
Level 5: Advanced Use with Sets
When working with sets, the in operator can check for membership in a highly efficient way. Here’s how you can use it with sets:
# Level 5: Using 'in' with sets for fast lookups
prime_numbers = {2, 3, 5, 7, 11, 13, 17, 19, 23}
number = 19
if number in prime_numbers:
print(f"{number} is a prime number.")
else:
print(f"{number} is not a prime number.")
Output:
19 is a prime number.
Explanation:
- Sets provide fast membership testing, and the
inoperator works efficiently for checking ifnumberexists inprime_numbers.
Conclusion:
The in keyword is incredibly powerful and flexible, allowing you to check membership across various data structures such as strings, lists, dictionaries, and sets. As shown, the complexity of using in can scale with your needs—from basic membership checks to more advanced data structure operations. Understanding this keyword will help you write more Pythonic and efficient code.