注意:python3中已经删除了cmp()该函数。

cmp(x,y)

比较x与y,当x>y时,返回1;  当x==y时,返回0;  当x<y时,返回-1;

  1. >>>cmp(1,0)
  2. 1
  3. >>>cmp(1,1)
  4. 0
  5. >>>cmp(1,2)
  6. -1
  7. >>>cmp('a','b')
  8. -1
  9. >>>cmp('abc','ab')
  10. 1
  11. #因为'abc'的长度大于'ab',所以判定'abc'>'ab'

特殊的地方:

1.如果比较的类型不相同,但都是数字(整形和浮点类型),则进行强制的数字转换后再进行判断(对于哪个类型进行强制转换,这个有点疑问,但是觉得并不重要);

2.如果X为数字,Y非数字,则X<Y(数字是最小的);

  1. >>> print True == 1
  2. True
  3. >>> print True == 0
  4. False
  5. >>> print False == 1
  6. False
  7. >>> print False == 0
  8. True
  9. #Bool类型中的True和False在计算机中也用1和0表示

3.当X、Y都不是数字且类型不同的时候,对其类型的名称(String,Bool...)进行判断;

  1. >>> cmp(True,'True')
  2. -1
  3. >>> cmp(False,'True')
  4. -1

以上是单纯的比较两个数据,下面是比较列表。

  1. >>> list1 = [1,2,3]
  2. >>> list2 = [1,2,3]
  3. >>> cmp(list1,list2)
  4. 0
  5. >>> list2[2] = 4
  6. >>> cmp(list1,list2)
  7. -1
  8. >>> list1 = ['abc','a']
  9. >>> list2 = ['abc',1]
  10. >>> cmp(list1,list2)
  11. 1
  12. >>> list2[1] = 'b'
  13. >>> cmp(list1,list2)
  14. -1
  15. >>> list2[1] = True
  16. >>> cmp(list1,list2)
  17. 1

python-cmp()的使用的更多相关文章

  1. Python cmp() 函数

    描述 cmp(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1. 语法 以下是 cmp() 方法的语法:cmp( ...

  2. python字符串操作大全

    1.去空格 strip() >>> s = 'a b c d ' >>> s.strip() 'a b c d' 2.lstrip() 方法用于截掉字符串左边的空格 ...

  3. Python3 operator模块关联代替Python2 cmp() 函数

    Python2 cmp() 函数 描述 cmp(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1. Python ...

  4. python中的is、==和cmp()比较字符串

    python 中的is.==和cmp(),比较字符串 经常写 shell 脚本知道,字符串判断可以用 =,!= 数字的判断是 -eq,-ne 等,但是 Python 确不是这样子地.所以作为慢慢要转换 ...

  5. python中 cmp

    python3.*版本中取消了数值之间的比较:cmp(x, y).取而代之的是 (x > y) - (x < y) 因为python中 false 为 0, true 为 1.

  6. Python的内建比较函数cmp比较原理剖析-乾颐堂

    cmp( x, y):比较2个对象,前者小于后者返回-1,相等则返回0,大于后者返回1. Python的cmp比较函数比较原理 Python的cmp函数可以比较同类型之间,或者不同数据类型之间.然后根 ...

  7. python中sort()方法的cmp参数

    <python基础编程>里有讲到一段高级排序: “如果希望元素能按照特定的方式进行排序(而不是sort函数默认的方式,即根据python的默认排序规则按升序排列元素,第5章内对此进行讲解) ...

  8. [python学习篇][书籍学习][python standrad library][内建函数]之[all,any,basestring,isinstance,bin,bool,@classmethod,@staticmethod,cmp,enumerate

    Python 解释器内置了一些函数,它们总是可用的.这里将它们按字母表顺序列出.     Built-in Functions     abs() divmod() input() open() st ...

  9. 浅谈python中的“ ==” 与“ is”、还有cmp

    总之,比较内容相等使用 ‘==’ 1.is" 是用来比较 a 和 b 是不是指向同一个内存单元,而"=="是用来比较 a 和 b指向的内存单元中的值是不是相等 2.pyt ...

  10. 【python比较两个列表list】 python2 cmp() python3 operator模块

    https://www.yiibai.com/python/list_cmp.html 如果元素的类型相同,则执行比较并返回结果.如果元素是不同的类型,则检查它们是否是数字. 如果数字,必要时进行数字 ...

随机推荐

  1. 【未来畅想】未来的电信通讯行业,账号密码将取代sim卡

    今天看到一条新闻,是关于LG模块化的手机,LG将手机电池模块化了,很多人一片叫好,但是我认为模块化手机无法成为未来的趋势,原因如下:模块化必然要增加手机的卡口.插口增,意味着体积也大大增加,手机正因为 ...

  2. In-Memory:内存优化数据的持久化和还原

    数据持久化是还原的前提,没有数据的持久化,就无法还原内存优化表的数据,SQL Server In-Memory OLTP的内存数据能够持久化存储,这意味着内存数据能够在SQL Server实例重启之后 ...

  3. [bzoj2957][楼房重建] (线段树)

    Description 小A的楼房外有一大片施工工地,工地上有N栋待建的楼房.每天,这片工地上的房子拆了又建.建了又拆.他经常无聊地看着窗外发呆,数自己能够看到多少栋房子. 为了简化问题,我们考虑这些 ...

  4. C++ std::stack

    std::stack template <class T, class Container = deque<T> > class stack; LIFO stack Stack ...

  5. 仿Iconfont-阿里巴巴矢量图标库 搜索动画

    效果图如下 style <Style x:Key="BtnSearch" TargetType="{x:Type Button}"> <Set ...

  6. css修改滚动条默认样式

    之前因为公司项目需要,在网上找到的: 直接上代码了 html代码 <div class="inner"> <div class="innerbox&qu ...

  7. H3 BPM 跨平台表单发起详解

    1.1 目的 为方便技术对接服务,实现流程业务的跨平台对接,给出指引和帮助文档. 2 跨平台以Java为例调用.NET BPM表单流程全过程 2.1 双方系统确定接口协议规则 通信协议:基于soap通 ...

  8. sql语句实现隐藏手机号码中间四位的方法

    1、select REPLACE(mobile,SUBSTR(mobile,4,4), '****') as mobile from tableName 2、select INSERT(mobile, ...

  9. 利用Runtime给UITextView添加占位符(新方法)

     以前一直使用自定义UITextView通过通知中心来自定义placeHolder,最近看到这个方法,感觉更好 UITextView *textView = [[UITextView alloc]in ...

  10. Java 并发 线程属性

    Java 并发 线程属性 @author ixenos 线程优先级 1.每当线程调度器有机会选择新线程时,首先选择具有较高优先级的线程 2.默认情况下,一个线程继承它的父线程的优先级 当在一个运行的线 ...