Skip to content
Related Articles

Related Articles

Python – Minimum value key assignment

View Discussion
Improve Article
Save Article
  • Last Updated : 24 Jan, 2021

Given two dictionaries, the task is to write a Python program to assign minimum values for matching keys from both dictionaries.

Examples:

Input : test_dict1 = {“gfg” : 1, “is” : 7, “best” : 8}, test_dict2 = {“gfg” : 2, “is” : 2, “best” : 10}

Output : {“gfg” : 1, “is” : 2, “best” : 8}

Explanation : Minimum of 1 and 2 is 1, hence, gfg is assigned with 1 and so on.

Input : test_dict1 = {“gfg” : 1, “is” : 7, “best” : 12}, test_dict2 = {“gfg” : 2, “is” : 2, “best” : 10}

Output : {“gfg” : 1, “is” : 2, “best” : 10}

Explanation : Minimum of 10 and 12 is 10, hence, best is assigned with 10 and so on.

Method #1 : Using dictionary comprehension + min() + items()

In this, minimum of keys’ values are extracted using min(). Dictionary comprehension is used to reconstruct the dictionary with modified values.

Python3




# Python3 code to demonstrate working of
# Minimum value key assignment
# Using dictionary comprehension + min() + items()
  
# initializing dictionaries
test_dict1 = {"gfg": 1, "is": 7, "best": 8}
test_dict2 = {"gfg": 2, "is": 2, "best": 10}
  
# printing original dictionaries
print("The original dictionary 1 is : " + str(test_dict1))
print("The original dictionary 2 is : " + str(test_dict2))
  
# using min() to assign min values
res = {key: min(val, test_dict2[key]) for key, val in test_dict1.items()}
  
# printing result
print("The minimum value keys : " + str(res))

Output:

The original dictionary 1 is : {'gfg': 1, 'is': 7, 'best': 8}
The original dictionary 2 is : {'gfg': 2, 'is': 2, 'best': 10}
The minimum value keys : {'gfg': 1, 'is': 2, 'best': 8}

Method #2 : Using dict() + min() + zip()

In this, for better comparison, zip() is used for getting values to compare, min() is used to get minimum values of keys. Then dict() is used to conversion of result to dictionary.

Python3




# Python3 code to demonstrate working of
# Minimum value key assignment
# Using dict() + min() + zip()
  
# initializing dictionaries
test_dict1 = {"gfg": 1, "is": 7, "best": 8}
test_dict2 = {"gfg": 2, "is": 2, "best": 10}
  
# printing original dictionaries
print("The original dictionary 1 is : " + str(test_dict1))
print("The original dictionary 2 is : " + str(test_dict2))
  
# using min() to assign min values
# dict() for conversion of result to dictionary
res = dict([min(i, j) for i, j in zip(test_dict1.items(), test_dict2.items())])
  
# printing result
print("The minimum value keys : " + str(res))

Output:

The original dictionary 1 is : {'gfg': 1, 'is': 7, 'best': 8}
The original dictionary 2 is : {'gfg': 2, 'is': 2, 'best': 10}
The minimum value keys : {'gfg': 1, 'is': 2, 'best': 8}

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!