Python 字典 cmp() 方法



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