Skip to content
Related Articles
Open in App
Not now

Related Articles

Python | Check if given multiple keys exist in a dictionary

Improve Article
Save Article
  • Last Updated : 30 Dec, 2022
Improve Article
Save Article

A dictionary in Python consists of a collection of key-value pairs. Each key-value pair maps the key to its associated value.

Input : dict[] = {“geeksforgeeks” : 1, “practice” : 2, “contribute” :3} keys[] = {“geeksforgeeks”, “practice”} Output : Yes Input : dict[] = {“geeksforgeeks” : 1, “practice” : 2, “contribute” :3} keys[] = {“geeksforgeeks”, “ide”} Output : No

Let’s discuss various ways of checking multiple keys in a dictionary : Method #1 Using comparison operator : This is the common method where we make a set which contains keys that use to compare and using comparison operator we check if that key present in our dictionary or not. 

Python3




# Python3 code to check multiple key existence
# using comparison operator
 
# initializing a dictionary
sports = {"geeksforgeeks" : 1, "practice" : 2, "contribute" :3}
 
# using comparison operator
print(sports.keys() >= {"geeksforgeeks", "practice"})
print(sports.keys() >= {"contribute", "ide"})

Output:

True
False

Method #2 Using issubset() : In this method, we will check the keys that we have to compare is subset() of keys in our dictionary or not. 

Python3




# Python3 code heck multiple key existence
# using issubset
 
# initializing a dictionary
sports = {"geeksforgeeks" : 1, "practice" : 2, "contribute" :3}
 
# creating set of keys that we want to compare
s1 = set(['geeksforgeeks', 'practice'])
s2 = set(['geeksforgeeks', 'ide'])
 
print(s1.issubset(sports.keys()))
print(s2.issubset(sports.keys()))

Output:

True
False

Method #3 Using if and all statement : In this method we will check that if all the key elements that we want to compare are present in our dictionary or not . 

Python3




# Python3 code check multiple key existence
# using if and all
 
# initializing a dictionary
sports = {"geeksforgeeks" : 1, "practice" : 2, "contribute" :3}
 
# using if, all statement
if all(key in sports for key in ('geeksforgeeks', 'practice')):
    print("keys are present")
else:
    print("keys are not present")
 
# using if, all statement
if all(key in sports for key in ('geeksforgeeks', 'ide')):
    print("keys are present")
else:
    print("keys are not present")

Output:

keys are present
keys are not present

Method #4 : Alternatively, you can use a list comprehension and list comparison to achieve a similar result:

Python3




# initializing a dictionary
sports = {"geeksforgeeks": 1, "practice": 2, "contribute": 3}
 
# using a list comprehension to check multiple key existence
keys_to_check1 = ['geeksforgeeks', 'practice']
keys_to_check2 = ['geeksforgeeks', 'ide']
keys_present1 = [key for key in keys_to_check1 if key in sports]
keys_present2 = [key for key in keys_to_check2 if key in sports]
print(keys_present1 == keys_to_check1)
print(keys_present2 == keys_to_check2)
# This code is contributed by Edula Vinay Kumar Reddy

Output

True
False

This approach also has a Space complexity O(n) and time complexity of O(n), since it involves a single pass through the list of keys to check. It uses a list comprehension to generate a list of keys that are present in the dictionary.


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!