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用ConfigObj读写配置文件的实现代码
Mar 04 Python
Python设置Socket代理及实现远程摄像头控制的例子
Nov 13 Python
实例解析Python的Twisted框架中Deferred对象的用法
May 25 Python
python监控linux内存并写入mongodb(推荐)
Sep 11 Python
Python实现中一次读取多个值的方法
Apr 22 Python
详解Python的三种可变参数
May 08 Python
Django利用cookie保存用户登录信息的简单实现方法
May 27 Python
Django实现WebSSH操作物理机或虚拟机的方法
Nov 06 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
Jan 09 Python
python使用信号量动态更新配置文件的操作
Apr 01 Python
通过实例了解python__slots__使用方法
Sep 14 Python
Python实战实现爬取天气数据并完成可视化分析详解
Jun 16 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
服务器端解压缩zip的脚本
2006/12/22 PHP
php+ajax实现无刷新数据分页的办法
2015/11/02 PHP
PHP socket 模拟POST 请求实例代码
2016/07/18 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
List Installed Hot Fixes
2007/06/12 Javascript
基于jquery的滚动条滚动固定div(附演示下载)
2012/10/29 Javascript
js固定DIV高度,超出部分自动添加滚动条的简单方法
2013/07/10 Javascript
JS 屏蔽按键效果与改变按键效果的示例代码
2013/12/24 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
jquery中实现时间戳与日期相互转换
2016/04/12 Javascript
JS实现全屏的四种写法
2016/12/30 Javascript
nodejs使用express创建一个简单web应用
2017/03/31 NodeJs
微信小程序 navbar实例详解
2017/05/11 Javascript
详解nodeJs文件系统(fs)与流(stream)
2018/01/24 NodeJs
jQuery zTree搜索-关键字查询 递归无限层功能实现代码
2018/01/25 jQuery
深入浅析AngularJs模版与v-bind
2018/07/06 Javascript
解决vue中修改了数据但视图无法更新的情况
2018/08/27 Javascript
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
2018/09/25 Javascript
Python操作Sql Server 2008数据库的方法详解
2018/05/17 Python
python代码 输入数字使其反向输出的方法
2018/12/22 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
2020/02/29 Python
Python函数的迭代器与生成器的示例代码
2020/06/18 Python
基于Python正确读取资源文件
2020/09/14 Python
CSS3等相关属性制作分页导航实现代码
2012/12/24 HTML / CSS
CSS3 @keyframes简单动画实现
2018/02/24 HTML / CSS
联想C++笔试题
2012/06/13 面试题
"序列点" 是什么
2016/07/29 面试题
校园歌咏比赛主持词
2014/03/18 职场文书
商场开业庆典策划方案
2014/06/02 职场文书
企业安全标语
2014/06/07 职场文书
小学教师师德师风演讲稿
2014/08/22 职场文书
营运督导岗位职责
2015/04/10 职场文书
倡议书怎么写?
2019/04/11 职场文书
Mysql数据库值的添加、修改、删除及清空操作实例
2021/06/20 MySQL
Android自定义双向滑动控件
2022/04/19 Java/Android
阿里云ECS云服务器快照的概念以及如何使用
2022/04/21 Servers