Python dictionary cmp() 方法用于根据键和值比较两个字典。它有助于识别重复的词典以及在词典之间进行关系比较。
如果第一个字典小于第二个字典,则比较结果为 -1,如果第一个字典大于第二个字典,则为 1。如果两者相等,则 cmp() 方法的结果为零。
注意:此方法仅在 Python 2.x 中可执行,在 Python 3.x 中不起作用。
语法
以下是 Python dictionary cmp() 方法的语法 -
cmp(dict1, dict2)
参数
- dict1 − 这是第一个与 dict2 进行比较的字典。
- dict2 − 这是第二个要与 dict1 进行比较的字典。
返回值
如果两个字典相等,则此方法返回 0,如果 dict1 < dict2,则返回 -1,如果 dict1 > dic2,则返回 1。
例如果第一个字典的值小于第二个字典,则此方法返回 -1。
以下示例显示了 Python 字典 cmp() 方法的用法。在这里,我们正在创建第一个字典 'dict1',其中包含值:'Zara' 和 '7' 和键 'Name' 和 'Age'。然后我们创建第二个字典 'dict2',其值为 'Mahnaz' 和 '27',针对与 'dict1' 相同的键。这里,'dict1' 的两个值都小于 'dict2'。
# first dictionary dict1 = {'Name': 'Zara', 'Age': 7}; # second dictionary dict2 = {'Name': 'Mahnaz', 'Age': 27}; print "Return Value : %d" % cmp (dict1, dict2)
当我们运行上述程序时,它会产生以下结果——
Return Value : -1
例
如果第一个字典的值大于第二个字典,则此方法返回 1。
在这里,与第二个字典 'dict2' 相比,第一个字典 'dict1' 的值 'Mahnaz' 更大。因此,使用 cmp() 方法返回值 '1'。
# first dictionary dict1 = {'Name': 'Mahnaz', 'Age': 27}; # second dictionary dict2 = {'Name': 'Abid', 'Age': 27}; print "Return Value : %d" % cmp (dict1, dict2)
运行上面的代码会得到以下结果 -
Return Value : 1
例
如果第一个字典的值等于第二个字典,则此方法返回 0。
在下面的代码中,第一个字典的键是:“Name”和“Age”。它们各自的值为:'Zara' 和 '7'。第二个字典 'dict2' 也包含与 'dict1' 相同的键值对。此后,使用 cmp() 方法检索结果。
# first dictionary dict1 = {'Name': 'Zara', 'Age': 7}; # second dictionary dict2 = {'Name': 'Zara', 'Age': 7}; print "Return Value : %d" % cmp (dict1, dict2)
以下是上述代码的输出 -
Return Value : 0