Extract Multiple keys value from a Python dictionary

Python Dictionary

In this post, we are going to learn about how to Extract Multiple keys from a dictionary in Python, often we have one, two, or multiple keys in the dictionary and we have need to extract based on the condition that we need to extract from the original dictionary and to a new dictionary. In this post, we will understand with examples how to achieve this by using different techniques.

1. Dictionary Comprehension to extract multiple keys values

In this code example, we are using dictionary comprehension to extract multiple specific keys from the original dictionary. We have a dictionary of three keys{‘math’, ‘chem’, ‘sci’}, and we are extracting the values of these keys, and printing a new dictionary result.

Code Example

#Program to Extract specific keys from a Python dictionary

sub_dict = {'math' : 100, 'chem' : 98, 'sci' : 100,'eng':100} 
  
#key to extract from dictionary 
key_to_extract = {'math', 'chem','sci'}

extracted_dict = {key: sub_dict[key] for key in sub_dict.keys()
                               & key_to_extract} 
                                
#filtered  keys with valuen result dictionary

print("extracted key-value from dictionary : " ,  extracted_dict) 

Output

Filtered value list is :  {'sci': 100, 'math': 100, 'chem': 98}

2. Dictionary Comprehension with IN operator

In this code example, we extract the multiple keys from an original dictionary into the new dictionary. We are using the dictionary comprehension with IN operator.

Code Example

#Program to Extract specific keys from a Python dictionary

sub_dict = {'math' : 100, 'chem' : 98, 'sci' : 100,'eng':100} 
  
# keys to extract from dictionary

key_to_extract = {'math', 'chem','sci'}


extracted_dict  =  { key:value for key,value in sub_dict.items() if key in key_to_extract}

#filtered  keys with valuen result dictionary

print("extracted key-value from dictionary : \n" ,  extracted_dict) 

Output

extracted key-value from dictionary : 
 {'math': 100, 'chem': 98, 'sci': 100}

3. Dict() with list comprehension to extract multiple keys values

In this code example, we are using the list comprehension to extract multiple specific key-values pairs into the new dictionary and later using dict() constructor to convert them into the dictionary.

Code Example

#Program to Extract specific keys from a Python dictionary

sub_dict = {'math' : 100, 'chem' : 98, 'sci' : 100,'eng':100} 
  
# #key to extract from dictionary
key_to_extract = {'math', 'chem','sci'}

extracted_dict = dict((key,sub_dict[key] ) for key in key_to_extract
                                        if key in sub_dict)
#filtered  keys with valuen result dictionary

print("extracted key-value from dictionary : \n" ,  extracted_dict) 

Output

extracted key-value from dictionary : 
 {'math': 100, 'sci': 100, 'chem': 98}

4. Dictionary Comprehension to extract multiple keys values based on condition

In this code example, we are extracting multiples key from the dictionary using dictionary comprehension and condition using if statement by checking if values of key is equal to 100(which is our criteria condition).

In output result it is showing how many keys satisfy the given condition.

#Program to Extract specific keys from a Python dictionary

sub_dict = {'math' : 100, 'chem' : 98, 'sci' : 100,'eng':100} 

extracted_dict =  { key:value for key, value in sub_dict.items() if value ==100 }

#filtered  keys with values result dictionary

print("extracted key-value from dictionary : \n" ,  extracted_dict)

Output

extracted key-value from dictionary : 
 {'math': 100, 'sci': 100, 'eng': 100}

5. Nested ‘for’ loop to Extract multiple keys values Python dictionary

In this code example, we are doing extraction of specific keys from a Python dictionary by using nested for loop. The outer loop runs for the original dictionary(sub_dict) keys, and the inner loop runs for the keys dictionary(key_to_extract). We are looking at the dictionary, If the key match in both dictionaries then we are adding into a new dictionary (extracted_dict).

#Program to Extract specific keys from a Python dictionary

sub_dict = {'math' : 100, 'chem' : 98, 'sci' : 100,'eng':100} 
extracted_dict = {}
# keys to extract
key_to_extract = {'math', 'chem','sci'}

for keyoriginal in sub_dict: 

  for key in key_to_extract:

   if keyoriginal == key:
    extracted_dict[key] = sub_dict[key]
                                        
#filtered  keys with valuen result dictionary

print("extracted key-value from dictionary : \n" ,  extracted_dict) 

Output

extracted key-value from dictionary : 
 {'math': 100, 'chem': 98, 'sci': 100}

Conclusion

We have learned different ways to extract Multiple keys values from a Python dictionary. Now by using these ways we can easily extract specific keys from the original dictionary to the new dictionary and use them in data manipulation.

Happy Learning!!