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 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
Jan 12 Python
python MySQLdb使用教程详解
Mar 20 Python
python 实现查询Neo4j多节点的多层关系
Dec 23 Python
python+opencv实现移动侦测(帧差法)
Mar 20 Python
django正续或者倒序查库实例
May 19 Python
使用Nibabel库对nii格式图像的读写操作
Jul 01 Python
python接入支付宝的实例操作
Jul 20 Python
Django数据统计功能count()的使用
Nov 30 Python
pycharm + django跨域无提示的解决方法
Dec 06 Python
windows系统Tensorflow2.x简单安装记录(图文)
Jan 18 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
Feb 07 Python
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
May 17 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中支持多种编码的中文字符串截取函数!
2007/03/20 PHP
php判断数组中是否存在指定键(key)的方法
2015/03/17 PHP
ThinkPHP静态缓存简单配置和使用方法详解
2016/03/23 PHP
Laravel监听数据库访问,打印SQL的例子
2019/10/24 PHP
jQuery使用手册之二 DOM操作
2007/03/24 Javascript
javascript定义函数的方法
2010/12/06 Javascript
jquery中get,post和ajax方法的使用小结
2014/02/04 Javascript
javascript中call apply 的应用场景
2015/04/16 Javascript
javascript原型模式用法实例详解
2015/06/04 Javascript
JavaScript中的getTimezoneOffset()方法使用详解
2015/06/10 Javascript
使用 bootstrap modal遇到的问题小结
2016/11/09 Javascript
jquery实现自适应banner焦点图
2017/02/16 Javascript
Angular通过angular-cli来搭建web前端项目的方法
2017/07/27 Javascript
Javascript实现秒表倒计时功能
2018/11/17 Javascript
使用koa2创建web项目的方法步骤
2019/03/12 Javascript
JS面向对象之多选框实现
2020/01/17 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
[06:10]6.81新信使新套装!给你一个炫酷的DOTA2
2014/05/06 DOTA
python中zip和unzip数据的方法
2015/05/27 Python
利用Python命令行传递实例化对象的方法
2016/11/02 Python
python实现在pandas.DataFrame添加一行
2018/04/04 Python
解决python3运行selenium下HTMLTestRunner报错的问题
2018/12/27 Python
python应用文件读取与登录注册功能
2019/09/23 Python
tensorflow 自定义损失函数示例代码
2020/02/05 Python
python将dict中的unicode打印成中文实例
2020/05/11 Python
css3.0新属性效果在ie下的解决方案
2010/05/10 HTML / CSS
利用CSS3实现的文字定时向上滚动
2016/08/29 HTML / CSS
医学专业毕业生个人求职信
2013/12/25 职场文书
索桥的故事教学反思
2014/02/06 职场文书
校长竞聘演讲稿
2014/05/16 职场文书
环境整治工作方案
2014/05/18 职场文书
机械操作工岗位职责
2014/08/08 职场文书
高三英语复习计划
2015/01/19 职场文书
银行自荐信怎么写
2015/03/05 职场文书
vue代码分块和懒加载非必要资源文件
2022/04/11 Vue.js
muduo TcpServer模块源码分析
2022/04/26 Redis