Open In App

Check if a Given Key Already Exists in a Python Dictionary

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

Python dictionary can not contain duplicate keys so it is very crucial to check if a key is already present in the dictionary. If you accidentally assign a duplicate key value, the new value will overwrite the old one.

So in a given dictionary, our task is to check if the given key already exists in a dictionary or not.  If present, print “present” and the value of the key. Otherwise, print “Not present”. 

Example

Input : {'a': 100, 'b':200, 'c':300}, key = b
Output : Present, value = 200
Input : {'x': 25, 'y':18, 'z':45}, key = w
Output : Not present

How to Check If a Key Already Exists in a Dictionary

There can be different ways to check whether a given key Exists in a Dictionary, we have covered the following approaches:

  • Python Dictionary keys()
  • If and in
  • Python Dictionary has_key()
  • Python Dictionary get() Method
  • Python ‘KeyError’ Exception Handling
  • Python List count()

1. Check If the Key Exists Using keys() Method

keys() method returns a list of all the available keys in the dictionary. With the Inbuilt method keys(), use the if statement with the ‘in’ operator to check if the key is present in the dictionary or not. 

Python3




# Python3 Program to check whether a
# given key already exists in a dictionary.
  
def checkKey(dic, key):
    if key in dic.keys():
        print("Present, ", end =" ")
        print("value =", dic[key])
    else:
        print("Not present")
          
# Driver Code
dic = {'a': 100, 'b':200, 'c':300}
key = 'b'
checkKey(dic, key)
  
key = 'w'
checkKey(dic, key)


Output:

Present,  value = 200
Not present

Time Complexity: O(n)
Auxiliary Space: O(1)

2. Check If the Key Exists Using if and in

This method uses the if statement to check whether the given key exists in the dictionary. 

Python3




def checkKey(dic, key):
      
    if key in dic:
        print("Present, ", end =" ")
        print("value =", dic[key])
    else:
        print("Not present")
  
# Driver Code
dic = {'a': 100, 'b':200, 'c':300}
key = 'b'
checkKey(dic, key)
  
key = 'w'
checkKey(dic, key)


Output:

Present,  value = 200
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 the dictionary.

3. Check If the Key Exists Using has_key() Method

Using the has_key() method returns true if a given key is available in the dictionary, otherwise, it returns a false. With the Inbuilt method has_key(), use the if statement to check whether the key is present in the dictionary. 

Note – has_keys() method has been removed from the Python3 version. Therefore, it can be used in Python2 only. 

Python




def checkKey(dic, key):
      
    if dic.has_key(key):
        print("Present, value =", dic[key])
    else:
        print("Not present")
  
# Driver Function
dic = {'a': 100, 'b':200, 'c':300}
key = 'b'
checkKey(dic, key)
  
key = 'w'
checkKey(dic, key)


Output:

('Present, value =', 200)
Not present

4. Check If the Key Exists Using get() Method

The Inbuilt method get() returns a list of available keys in the dictionary. With keys(), use the if statement to check whether the key is present in the dictionary. If the key is present it will print “Present” otherwise it will print “Not Present”.

Python3




dic = {'a': 100, 'b':200, 'c':300}
  
# check if "b" is none or not.
if dic.get('b') == None:
  print("Not Present")
else:
  print("Present")


Output:

Present

5. Handling ‘KeyError’ Exception in Python

Use try and except to handle the KeyError exception to determine if a key is present in a diet. The KeyError exception is generated if the key you’re attempting to access is not in the dictionary.

Python3




dictExample = {'Aman': 110, 'Rajesh': 440, 'Suraj': 990}
  
# Example 1
print("Example 1")
  
try:
    dictExample["Kamal"]
    print('The key exists in the dictionary')
except KeyError as error:
    print("The key doesn't exist in the dictionary")
  
# Example 2
print("Example 2")
  
try:
    dictExample["Suraj"]
    print('The key exists in the dictionary')
except KeyError as error:
    print("The given key doesn't exist in the dictionary")


Output:

Example 1
The key doesn't exist in the dictionary
Example 2
The key exists in the dictionary

6. Check If the Key Exists Using count() Method

count() method can be used to check if the key exists in the dictionary, if the count of the key is 1 then the key is present else, it is not.

Python3




# Python3 Program to check whether a
# given key already exists in a dictionary.
  
# Driver Code
dic = {'a': 100, 'b': 200, 'c': 300}
key = 'b'
x = list(dic.keys())
res = "Not Present"
if(x.count(key) == 1):
    res = "Present"
print(res)


Output:

Present

In this article, we discussed about 6 methods that can be used to check if a given key exists in the dictionary. You can use any of the above methods to check if the key is present. Checking for keys is very important as a dictionary can not contain duplicate keys.

Similar Reads:



Last Updated : 26 Feb, 2024
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads