An In-Depth Exploration of Python’s “not in” and “if not in”

Python is a flexible and widely used programming language that provides several tools to manipulate and play with data effectively. From these, the "not in” and "if not in” play an important role in increasing code readability and streamlining conditional statements. Let’s deep dive into these concepts to understand their concept, syntax, and application.


In Python programming the operators ,"not in” and "if not in” are test operators that provide us with solutions to check the absence of elements in lists, strings, and more. Using these functions efficiently can improve code quality and its functionality. Let’s explore each one by one.

Understanding “not in”

To check whether a value is present in the list or not we use a powerful statement known as the "not in” operator. We mostly use it when we are working with lists, tuples, and other iterable objects. For example, consider the code given below.

list = [1, 2, 3, 4, 5]
6 not in list



The above code example will evaluate to True since 6 is not present in the list. Let’s explore some more examples of this operator.

Use Cases and Examples

1. String Manipulation

The "not in“operator is not limited to the lists or tuples. It can also be used with strings to perform substring checks.

sentence = "Learning Python hacks with Absentdata."
"Java" not in sentence



This shows us how ‘not in’ can be used for string manipulation.

2. Handling Empty Sequences

This operator is particularly used when we are working with empty lists to avoid potential errors.

list = []
42 not in list



It even prevents runtime errors when we are dealing with empty lists.

Exploring “if not in”

The "if not in” statement follows the same syntax. The "not in” operator works more efficiently when combined with "if” and forms a more powerful tool which is "if not in“. This enables us to make decisions based on the absence of a specific value on the list.

list = [1, 2, 3, 4, 5]
element_to_check = 6

if element_to_check not in list:
    print(f"{element_to_check} is not in the list.")

print("Updated list:", list)


6 is not in the list.
Updated list: [1, 2, 3, 4, 5, 6]

In the above code example, you can see how the "if not in” statement works. The "if” statement works only if the specified element is not in the list and also, we made the decision to add that element in the list if it is not already in the list.

Use Cases and Examples

1. Validating User Input

The "if not in” operator is used to verify whether the input matches predefined options when we are expecting a specific user input.

colors = ['red', 'green', 'blue']
user_color = input("Enter your favorite color: ")

if user_color not in colors:
    print(" Sorry this color is not in the list.")    

Output: If the input is not in the list.

Sorry this color is not in the list.

In this example, we can see how the ‘if not in’ statement enhances user input validation.

2. Conditional Execution Based on Exclusion

The "if not in” condition is useful when you have a list of allowed members and want to deny access to those who are not on the list.

allowed_users = ['Jack', 'Bob', 'Charlie']
current_user = 'Eve'

if current_user not in allowed_users:
    print("The user is not in list")


The user is not in list

3. Common Mistakes and How to Avoid Them

As we know, “not in" is a powerful tool but it is necessary to be aware of potential errors. One common mistake is to neglect the type of sequence we are using. For example, when we are working with dictionaries and using the “not in" operator, it’s possible not to get the expected result.

dict = {'apple': 60, 'mango': 100, 'orange':70}
if 'apple' not in dict:
    print("The key is not a key in the dictionary.")

In the above example, the condition would be False, leading to an unexpected outcome. In the case of the dictionary, this operator will check the absence of a key, not the value, and this behavior might be unexpected for those who are used to working with lists.

Difference: “not in” and “if not in”

not inif not in
Deal with the absence of value.Deal with the absence of value.
Use to check the membership of an element and return a boolean value.Use to control the conditional statement.
Use "not in when a Boolean result is sufficient for your logic.When you need to execute specific code only.
For straightforward checks.When additional code needs to be executed based on the condition.
Differences Between “not in” and “if not in”.

Advantages of Utilizing “not in” and “if not in”

  • By using these statements, we can increase the code readability.
  • These conditions provide a concise and best way to handle specific situations.
  • By using these conditions, we can increase code efficiency and performance.
  • Helps to prevent errors.


The "not in" and if not in" are valuable operators in Python for membership checks. By using these in our code we can enhance readability, reduce errors, and can create expressive programs. Whether you are working with lists, strings tuples, and dictionaries these operators will contribute to the effectiveness of your code.

Master Essential Python Pandas Functions


Notify of

Inline Feedbacks
View all comments