Python | Check if given multiple keys exist in a dictionary
Last Updated :
27 Apr, 2023
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
sports = {"geeksforgeeks" : 1 , "practice" : 2 , "contribute" : 3 }
print (sports.keys() > = {"geeksforgeeks", "practice"})
print (sports.keys() > = {"contribute", "ide"})
|
Time complexity: O(k), where k is the number of keys in the dictionary
Auxiliary space: O(k), to create the set of keys for comparison.
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
sports = {"geeksforgeeks" : 1 , "practice" : 2 , "contribute" : 3 }
s1 = set ([ 'geeksforgeeks' , 'practice' ])
s2 = set ([ 'geeksforgeeks' , 'ide' ])
print (s1.issubset(sports.keys()))
print (s2.issubset(sports.keys()))
|
Time complexity: O(n), where n is the length of the test_keys list.
Auxiliary space: O(n), as we are creating a dictionary with n key-value pairs.
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
sports = {"geeksforgeeks" : 1 , "practice" : 2 , "contribute" : 3 }
if all (key in sports for key in ( 'geeksforgeeks' , 'practice' )):
print ("keys are present")
else :
print ("keys are not present")
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
Time complexity: O(n), where n is the number of key-value pairs in the dictionary.
Auxiliary space: O(n), to store the keys and values in dictionary.
Method #4 : Alternatively, you can use a list comprehension and list comparison to achieve a similar result:
Python3
sports = { "geeksforgeeks" : 1 , "practice" : 2 , "contribute" : 3 }
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)
|
Time complexity: O(n),
Auxiliary Space: O(n) and, 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.
Share your thoughts in the comments
Please Login to comment...