菜鸟教程 -- 学的不仅是技术,更是梦想!

Python 基础教程
(追記) (追記ここまで)

Python 字典(Dictionary) cmp()方法

Python 字典 Python 字典


描述

Python 字典的 cmp() 函数用于比较两个字典元素。

语法

cmp()方法语法:

cmp(dict1, dict2)

参数

  • dict1 -- 比较的字典。
  • dict2 -- 比较的字典。

返回值

如果两个字典的元素相同返回0,如果字典dict1大于字典dict2返回1,如果字典dict1小于字典dict2返回-1。

实例

以下实例展示了 cmp()函数的使用方法:

实例(Python 2.0+)

#!/usr/bin/python# -*- coding: UTF-8 -*-dict1 = {'Name': 'Zara', 'Age': 7}; dict2 = {'Name': 'Mahnaz', 'Age': 27}; dict3 = {'Name': 'Abid', 'Age': 27}; dict4 = {'Name': 'Zara', 'Age': 7}; print"Return Value : %d" % cmp(dict1, dict2)print"Return Value : %d" % cmp(dict2, dict3)print"Return Value : %d" % cmp(dict1, dict4)

以上实例输出结果为:

Return Value : -1
Return Value : 1
Return Value : 0

Python 字典 Python 字典

AI 思考中...

3 篇笔记 写笔记

  1. #0

    Python 3.X 的版本中已经没有 cmp 函数,如果你需要实现比较功能,需要引入 operator 模块,适合任何对象,包含的方法有:

    operator.lt(a, b)
    operator.le(a, b)
    operator.eq(a, b)
    operator.ne(a, b)
    operator.ge(a, b)
    operator.gt(a, b)
    operator.__lt__(a, b)
    operator.__le__(a, b)
    operator.__eq__(a, b)
    operator.__ne__(a, b)
    operator.__ge__(a, b)
    operator.__gt__(a, b)
    

    实例

    >>> import operator
    >>> operator.eq('hello', 'name');
    False
    >>> operator.eq('hello', 'hello');
    True
    
    10年前 (2017年02月06日)
  2. #0

    字典 cmp() 的笔记规则:

    先比较字典的长度,如果相等。再比较adiff(在A中与B值不相等的最小key)和bdiff(在B中与A值不相等的最小key),再等则比较两者的值。

    长度相等,直接比较'Addr'和'Adds',所以 dict1 < dict2:

    >>> dict1 = {'Name': 'e', 'Age': 30, 'Addr':'hust'};
    >>> dict2 = {'Name': 'z', 'Age': 27, 'Adds':'hust'};
    >>> print "Return Value : %d" % cmp (dict1, dict2)
    Return Value : -1

    长度相等,key完全相等,比较value不等keys('Name','Age','Addr')中的最小key('Addr')的value('hust','whu'),所以dict1 < dict2

    >>> dict1 = {'Name': 'e', 'Age': 30, 'Addr':'hust'};
    >>> dict2 = {'Name': 'z', 'Age': 27, 'Addr':'whu'};
    >>> print "Return Value : %d" % cmp (dict1, dict2)
    Return Value : -1
    >>> min('Name', 'Age', 'Addr')
    'Addr'
    9年前 (2017年08月24日)
  3. #0

    best

    kus***[email protected]

    5

    字典比较说明:

    1、先比较字典的长度。

    2、dict1 最小的 key 与 dict2 最小的 key 比较。

    3、dict1 最小 key 的 value 与 dict2 最小 key 的 value 比较。

    4、循环(2,3步)执行第二小的 key。

    >>> dict1 = {'rame': 'Zara', 'Age': 27, 'Class': 'airst'}
    >>> dict2 = {'rame': 'mara', 'Age': 27, 'Class': 'First'}
    >>> print "cmp(dict1,dict2) = ",cmp(dict1,dict2)
    cmp(dict1,dict2) = 1

    如示例: Age=Age,27=27; Class=Class, airst > firstç; 故 dict1 > dict2 输出 1。

    注意: 数字 < 大写字母 < 小写字母。

    best

    kus***[email protected]

    8年前 (2018年02月27日)

点我分享笔记

  • 昵称 (必填)
  • 邮箱 (必填)
  • 引用地址

AltStyle によって変換されたページ (->オリジナル) /