Python 字典 cmp() 方法



Python 字典的 cmp() 方法用于根据键和值比较两个字典。它有助于识别重复的字典以及进行字典间的关联比较。

比较结果为:如果第一个字典小于第二个字典,则为 -1;如果第一个字典大于第二个字典,则为 1。如果两者相等,则 cmp() 方法的结果为零。

注意:此方法仅在 Python 2.x 中可执行,在 Python 3.x 中不起作用。

语法

以下是 Python 字典 cmp() 方法的语法:

cmp(dict1, dict2)

参数

  • dict1 − 这是要与 dict2 比较的第一个字典。

  • dict2 − 这是要与 dict1 比较的第二个字典。

返回值

如果两个字典相等,此方法返回 0;如果 dict1 < dict2,则返回 -1;如果 dict1 > dict2,则返回 1。

示例

如果第一个字典的值小于第二个字典的值,则此方法返回 -1。

以下示例演示了 Python 字典 cmp() 方法的用法。这里,我们创建第一个字典 'dict1',它包含针对键 'Name' 和 'Age' 的值:'Zara' 和 '7'。然后,我们创建第二个字典 '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。

这里,第一个字典 'dict1' 的值 'Mahnaz' 大于第二个字典 'dict2'。因此,使用 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
python_dictionary.htm
广告