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 相关文章推荐
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
Jun 15 Python
Python2.7 实现引入自己写的类方法
Apr 29 Python
解决安装pycharm后不能执行python脚本的问题
Jan 19 Python
详解python爬虫系列之初识爬虫
Apr 06 Python
python机器学习库scikit-learn:SVR的基本应用
Jun 26 Python
python防止随意修改类属性的实现方法
Aug 21 Python
python实现将一维列表转换为多维列表(numpy+reshape)
Nov 29 Python
python计算二维矩形IOU实例
Jan 18 Python
pytorch 查看cuda 版本方式
Jun 23 Python
通俗讲解python 装饰器
Sep 07 Python
python语言实现贪吃蛇游戏
Nov 13 Python
python中remove函数的踩坑记录
Jan 04 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全排列递归算法代码
2012/10/09 PHP
php mysql获取表字段名称和字段信息的三种方法
2016/11/13 PHP
PHP删除数组中特定元素的两种方法
2019/02/28 PHP
Javascript &amp; DHTML 实例编程(教程)(三)初级实例篇1—上传文件控件实例
2007/06/02 Javascript
利用javascript实现一些常用软件的下载导航
2009/08/03 Javascript
基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay)
2012/07/31 Javascript
jquery cookie实现的简单换肤功能适合小网站
2013/08/25 Javascript
Jquery 跨域访问 Lightswitch OData Service的方法
2013/09/11 Javascript
Javascript全局变量var与不var的区别深入解析
2013/12/09 Javascript
Javascript中引用示例介绍
2014/02/21 Javascript
js检测网络是否具体连接功能的代码
2014/05/23 Javascript
浅谈javascript中createElement事件
2014/12/05 Javascript
thinkphp实现无限分类(使用递归)
2015/12/19 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
2016/09/01 Javascript
AngularJS中如何使用echart插件示例详解
2016/10/26 Javascript
ASP.NET jquery ajax传递参数的实例
2016/11/02 Javascript
Angularjs 与 bower安装和使用详解
2017/05/11 Javascript
Angularjs中数据绑定的实例详解
2017/08/25 Javascript
vue.js select下拉框绑定和取值方法
2018/03/03 Javascript
Node.js模拟发起http请求从异步转同步的5种用法
2018/09/26 Javascript
es6基础学习之解构赋值
2018/12/10 Javascript
微信公众号获取用户地理位置并列出附近的门店的示例代码
2019/07/25 Javascript
Python 除法小技巧
2008/09/06 Python
在Python中使用CasperJS获取JS渲染生成的HTML内容的教程
2015/04/09 Python
在Python中编写数据库模块的教程
2015/04/29 Python
Django中cookie的基本使用方法示例
2018/02/03 Python
使用python和pygame绘制繁花曲线的方法
2018/02/24 Python
python requests指定出口ip的例子
2019/07/25 Python
HTML5 Web缓存和运用程序缓存(cookie,session)
2018/01/11 HTML / CSS
巴西最大的家电和百货零售商:Casas Bahia
2016/11/22 全球购物
澳洲女装时尚在线:Blue Bungalow
2018/05/05 全球购物
幼儿老师求职信
2014/06/30 职场文书
宣传标语大全
2014/07/01 职场文书
给老婆的检讨书1000字
2015/01/01 职场文书
公司食堂管理制度
2015/08/05 职场文书
InterProcessMutex实现zookeeper分布式锁原理
2022/03/21 Java/Android