Python dictionary cmp() Method



The Python dictionary cmp() method is used to compare two dictionaries based on the keys and values. It is helpful in identifying duplicate dictionaries as well as doing a relational comparison among the dictionaries.

The result of comparison is -1 if the first dictionary is smaller than second and 1 if the first dictionary is greater than the second. If both are equal the result of cmp() method is zero.

Note: This method is only executable in Python 2.x and does not work in Python 3.x.

Syntax

Following is the syntax for the Python dictionary cmp() method −

cmp(dict1, dict2)

Parameters

  • dict1 − This is the first dictionary to be compared with dict2.

  • dict2 − This is the second dictionary to be compared with dict1.

Return Value

This method returns 0 if both dictionaries are equal, -1 if dict1 < dict2 and 1 if dict1 > dic2.

Example

If the first dictionary has a value less than the second dictionary, this method returns -1.

The following example shows the usage of Python dictionary cmp() method. Here, we are creating the first dictionary 'dict1' which contains the values: 'Zara' and '7' against the keys 'Name' and 'Age'. Then we create the second dictionary 'dict2' having the values 'Mahnaz' and '27' against the keys which are same as 'dict1'. Here, both the values of the 'dict1' is less than 'dict2'.

# first dictionary
dict1 = {'Name': 'Zara', 'Age': 7};
# second dictionary
dict2 = {'Name': 'Mahnaz', 'Age': 27};
print "Return Value : %d" %  cmp (dict1, dict2)

When we run above program, it produces following result −

Return Value : -1

Example

If the first dictionary has a value greater than the second dictionary, this method returns 1.

In here, the first dictionary 'dict1' has a greater value 'Mahnaz' as compared to the second dictionary 'dict2'. Therefore, the value '1' is returned using the cmp() method.

# first dictionary
dict1 = {'Name': 'Mahnaz', 'Age': 27};
# second dictionary
dict2 = {'Name': 'Abid', 'Age': 27};
print "Return Value : %d" %  cmp (dict1, dict2)

Running the above code gives us the following result −

Return Value : 1

Example

If the first dictionary has a value equal to the second dictionary, this method returns 0.

In the code below, the keys of the first dictionary are: 'Name' and 'Age'. Their respective values are: 'Zara' and '7'. The second dictionary 'dict2' also contains the same key-value pairs as 'dict1'. Thereafter, the result is retrieved using the cmp() method.

# first dictionary
dict1 = {'Name': 'Zara', 'Age': 7};
# second dictionary
dict2 = {'Name': 'Zara', 'Age': 7};
print "Return Value : %d" %  cmp (dict1, dict2)

Following is an output of the above code −

Return Value : 0
python_dictionary.htm
Advertisements