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实现给数组按片赋值的方法
Jul 28 Python
windows下Virtualenvwrapper安装教程
Dec 13 Python
Python内置函数reversed()用法分析
Mar 20 Python
Python3 获取一大段文本之间两个关键字之间的内容方法
Oct 11 Python
python中的colorlog库使用详解
Jul 05 Python
Python使用百度api做人脸对比的方法
Aug 28 Python
详解Python在使用JSON时需要注意的编码问题
Dec 06 Python
在pycharm中实现删除bookmark
Feb 14 Python
新手学习Python2和Python3中print不同的用法
Jun 09 Python
python如何从键盘获取输入实例
Jun 18 Python
Python爬虫之爬取二手房信息
Apr 27 Python
python 实现图片特效处理
Apr 03 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类中private属性继承问题分析
2012/11/01 PHP
解析PHP留言本模块主要功能的函数说明(代码可实现)
2013/06/25 PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
2017/07/03 PHP
jquery控制listbox中项的移动并排序
2009/11/12 Javascript
jQuery的deferred对象详解
2014/11/12 Javascript
JavaScript中实现sprintf、printf函数
2015/01/27 Javascript
jQuery制作简单柱状图实例
2015/01/28 Javascript
javascript中replace( )方法的使用
2015/04/24 Javascript
JavaScript中switch语句的用法详解
2015/06/03 Javascript
jQuery弹层插件jquery.fancybox.js用法实例
2016/01/22 Javascript
jquery 遍历数组 each 方法详解
2016/05/25 Javascript
JS &amp; JQuery 动态添加 select option
2016/06/08 Javascript
VUEJS实战之修复错误并且美化时间(2)
2016/06/13 Javascript
浅析jQuery 3.0中的Data
2016/06/14 Javascript
jQuery插件zTree实现获取当前选中节点在同级节点中序号的方法
2017/03/08 Javascript
利用js查找数组中指定元素并返回该元素的所有索引示例
2017/03/29 Javascript
json对象及数组键值的深度大小写转换问题详解
2018/03/30 Javascript
JavaScript设计模式之构造函数模式实例教程
2018/07/02 Javascript
react native基于FlatList下拉刷新上拉加载实现代码示例
2018/09/30 Javascript
详解VS Code使用之Vue工程配置format代码格式化
2019/03/20 Javascript
基于Proxy的小程序状态管理实现
2019/06/14 Javascript
基于Node.js的大文件分片上传示例
2019/06/19 Javascript
python实现接口并发测试脚本
2019/06/25 Python
django云端留言板实例详解
2019/07/22 Python
django-crontab实现服务端的定时任务的示例代码
2020/02/17 Python
python中sklearn的pipeline模块实例详解
2020/05/21 Python
微软澳洲官方网站:Microsoft Australia
2017/01/10 全球购物
美国职棒大联盟的官方手套、球和头盔:Rawlings
2020/02/15 全球购物
外贸采购员求职的自我评价
2013/11/26 职场文书
终止合同协议书
2014/04/17 职场文书
学生自我评语大全
2014/04/18 职场文书
活动总结范文
2014/08/30 职场文书
2014司机年终工作总结
2014/12/05 职场文书
教师创先争优承诺书
2015/04/27 职场文书
幼儿园六一主持词开场白
2015/05/28 职场文书
周一给客户的问候语
2015/11/10 职场文书