CodeGym /Courses /Python SELF EN /Checking for an Item in a Dictionary

Checking for an Item in a Dictionary

Python SELF EN
Level 11 , Lesson 4
Available

4.1 Checking for a Key in a Dictionary

There are a few ways to check if a key is in a dictionary, each with its own quirks and uses.

The in Operator

The most common and efficient way to check if a key is in a dictionary is by using the in operator. This method returns True if the key is present in the dictionary, and False otherwise.


person = {"name": "Alice", "age": 25, "city": "New York"}

# Check for the keys "name" and "country" in the dictionary
print("name" in person)  # Output: True
print("country" in person)  # Output: False

# Example of using in a conditional statement
if "age" in person:
    print("The key 'age' is present in the dictionary.")
else:
    print("The key 'age' is absent from the dictionary.")

The get() Method

The get() method allows you to safely get a value by key, returning None or a specified default value if the key is missing. You can use this method for checking if a key exists by checking if it returns None.


person = {"name": "Alice", "age": 25, "city": "New York"}

# Get value by the key "age"
value = person.get("age")

# Check if the key "age" is present in the dictionary
if value is not None:
    print("The key 'age' is present in the dictionary.")
else:
    print("The key 'age' is absent from the dictionary.")

The keys() Method

The keys() method returns a view object of all the keys in the dictionary. You can check for a key by using the in operator to iterate over this view.


person = {"name": "Alice", "age": 25, "city": "New York"}

# Check for the key "name" in the dictionary's keys view
if "name" in person.keys():
    print("The key 'name' is present in the dictionary.")
else:
    print("The key 'name' is absent from the dictionary.")

4.2 Checking for a Value in a Dictionary

If we want to check if a dictionary contains a specific value associated with a key, there are a few straightforward ways:

Using the values() Method

The values() method returns a view object of all the values in the dictionary. You can use the in operator to check if a value is in this view.


person = {"name": "Alice", "age": 25, "city": "New York"}

# Check if the value 25 is in the dictionary
if 25 in person.values():
    print("The value 25 is present in the dictionary.")
else:
    print("The value 25 is absent from the dictionary.")

Using the set() Function

You can convert the values view into a set and then use the in operator to check for a value.


person = {"name": "Alice", "age": 25, "city": "New York"}

# Convert the values view into a set
values_set = set(person.values())

# Check if the value "New York" is in the set of values
if "New York" in values_set:
    print("The value 'New York' is present in the dictionary.")
else:
    print("The value 'New York' is absent from the dictionary.")

Using a Generator

You can use a generator to check if a value is in a dictionary. This provides a more concise and readable code.


person = {"name": "Alice", "age": 25, "city": "New York"}
value_to_find = 25

# Use a generator to check if a value is present
if any(value == value_to_find for value in person.values()):
    print(f"The value {value_to_find} is present in the dictionary.")
else:
    print(f"The value {value_to_find} is absent from the dictionary.")

The objects returned by values() might not be unique, so when searching for multiple items, it might be useful to first convert them into a set and then work with the set of items.

2
Task
Python SELF EN, level 11, lesson 4
Locked
Three checks.
Three checks.
2
Task
Python SELF EN, level 11, lesson 4
Locked
Ivy League
Ivy League
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION