Python List cmp()知识点总结


Posted in Python onFebruary 18, 2019

描述

cmp() 方法用于比较两个列表的元素。

语法

cmp()方法语法:

cmp(list1, list2)

参数

list1 -- 比较的列表。
list2 -- 比较的列表。

返回值

如果比较的元素是同类型的,则比较其值,返回结果。
如果两个元素不是同一种类型,则检查它们是否是数字。

  • 如果是数字,执行必要的数字强制类型转换,然后比较。
  • 如果有一方的元素是数字,则另一方的元素"大"(数字是"最小的")
  • 否则,通过类型名字的字母顺序进行比较。

如果有一个列表首先到达末尾,则另一个长一点的列表"大"。

如果我们用尽了两个列表的元素而且所 有元素都是相等的,那么结果就是个平局,就是说返回一个 0。

实例

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

#!/usr/bin/python

list1, list2 = [123, 'xyz'], [456, 'abc']

print cmp(list1, list2);
print cmp(list2, list1);
list3 = list2 + [786];
print cmp(list2, list3)

以上实例输出结果如下:

-1
1
-1

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

3.0 版本开始没这个函数了,官方文档是这么写的:

The cmp() function should be treated as gone, and the __cmp__() special method is no longer supported. Use __lt__() for sorting, __eq__() with __hash__(), and other rich comparisons as needed. (If you really need the cmp() functionality, you could use the expression (a > b) - (a < b) as the equivalent for cmp(a, b).)

Python 相关文章推荐
python定时器使用示例分享
Feb 16 Python
利用Python的Twisted框架实现webshell密码扫描器的教程
Apr 16 Python
Python3遍历目录树实现方法
May 22 Python
python 读取文件并替换字段的实例
Jul 12 Python
python定时复制远程文件夹中所有文件
Apr 30 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
Aug 12 Python
Python读取实时数据流示例
Dec 02 Python
OpenCV 表盘指针自动读数的示例代码
Apr 10 Python
Python使用Selenium实现淘宝抢单的流程分析
Jun 23 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
Jun 28 Python
python中关于数据类型的学习笔记
Jul 19 Python
python实现简单文件读写函数
Feb 25 Python
Python列表(List)知识点总结
Feb 18 #Python
Python元组知识点总结
Feb 18 #Python
pandas数据集的端到端处理
Feb 18 #Python
Python 数据库操作 SQLAlchemy的示例代码
Feb 18 #Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
Feb 18 #Python
Python File(文件) 方法整理
Feb 18 #Python
Python异常处理知识点总结
Feb 18 #Python
You might like
php警告Creating default object from empty value 问题的解决方法
2014/04/02 PHP
php猴子选大王问题解决方法
2015/05/12 PHP
Linux平台PHP5.4设置FPM线程数量的方法
2016/11/09 PHP
php7安装mongoDB扩展的方法分析
2017/08/02 PHP
PHP依赖注入原理与用法分析
2018/08/21 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
json 实例详细说明教程
2009/10/31 Javascript
JavaScript对象、属性、事件手册集合方便查询
2010/07/04 Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
2013/04/02 Javascript
js简单的表格添加行和删除行操作示例
2014/03/31 Javascript
JavaScript中用于四舍五入的Math.round()方法讲解
2015/06/15 Javascript
简介JavaScript中用于处理正切的Math.tan()方法
2015/06/15 Javascript
使用jQuery操作HTML的table表格的实例解析
2016/03/13 Javascript
ionic实现带字的toggle滑动组件
2016/08/27 Javascript
js实现背景图自适应窗口大小
2017/01/10 Javascript
前端页面文件拖拽上传模块js代码示例
2017/05/19 Javascript
Vue应用部署到服务器的正确方式
2017/07/15 Javascript
json对象及数组键值的深度大小写转换问题详解
2018/03/30 Javascript
JS获取浏览器地址栏的多个参数值的任意值实例代码
2018/07/24 Javascript
如何使用CSS3+JQuery实现悬浮墙式菜单
2019/06/18 jQuery
JS实现网页烟花动画效果
2020/03/10 Javascript
基于vue.js仿淘宝收货地址并设置默认地址的案例分析
2020/08/20 Javascript
[04:22]DSPL第二期精彩集锦:残血反杀!
2014/12/10 DOTA
Python随机生成一个6位的验证码代码分享
2015/03/24 Python
Python中尝试多线程编程的一个简明例子
2015/04/07 Python
python实现手机通讯录搜索功能
2018/02/22 Python
pandas 两列时间相减换算为秒的方法
2018/04/20 Python
Python中的四种交换数值的方法解析
2019/11/18 Python
Python实现桌面翻译工具【新手必学】
2020/02/12 Python
python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】
2020/04/26 Python
Python基于os.environ从windows获取环境变量
2020/06/09 Python
BISSELL官网:北美吸尘器第一品牌
2019/03/14 全球购物
Mysql关于数据库是否应该使用外键约束详解说明
2021/10/24 MySQL
Redis 持久化 RDB 与 AOF的执行过程
2021/11/07 Redis
css常用字体属性与背景属性介绍
2022/02/28 HTML / CSS
基于CSS制作创意端午节专属加载特效
2022/06/01 HTML / CSS