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 SDK写一个同步脚本及使用教程
Aug 23 Python
详解python单元测试框架unittest
Jul 02 Python
pyqt5 实现工具栏文字图片同时显示
Jun 13 Python
一文秒懂python读写csv xml json文件各种骚操作
Jul 04 Python
Python使用百度api做人脸对比的方法
Aug 28 Python
通过实例简单了解Python中yield的作用
Dec 11 Python
Python生成器传参数及返回值原理解析
Jul 22 Python
详解numpy.ndarray.reshape()函数的参数问题
Oct 13 Python
5分钟快速掌握Python定时任务框架的实现
Jan 26 Python
Django实现聊天机器人
May 31 Python
python 经纬度求两点距离、三点面积操作
Jun 03 Python
Python实现制作销售数据可视化看板详解
Nov 27 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之第十天
2006/10/09 PHP
PHP访问MYSQL数据库封装类(附函数说明)
2010/12/04 PHP
php四种基础算法代码实例
2013/10/29 PHP
CodeIgniter删除和设置Cookie的方法
2015/04/07 PHP
PHP微信支付开发实例
2016/06/22 PHP
PHP实现简单ajax Loading加载功能示例
2016/12/28 PHP
使用php完成常见的文件上传功能(推荐)
2017/01/13 PHP
PHP三种方式实现链式操作详解
2017/01/21 PHP
jquery ready函数源代码研究
2009/12/06 Javascript
JavaScript 的继承
2011/10/01 Javascript
jquery获取一组checkbox的值(实例代码)
2013/11/04 Javascript
利用javascript判断文件是否存在
2013/12/31 Javascript
JQuery为页面Dom元素绑定事件及解除绑定方法
2014/04/23 Javascript
javascript正则表达式总结
2016/02/29 Javascript
AngularJS指令详解及示例代码
2016/08/16 Javascript
Angular.js实现注册系统的实例详解
2016/12/18 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
JavaScript设计模式之单例模式详解
2017/06/09 Javascript
通俗解释JavaScript正则表达式快速记忆
2017/08/23 Javascript
基于JavaScript 实现拖放功能
2019/09/12 Javascript
Vue两个版本的区别和使用方法(更深层次了解)
2020/02/16 Javascript
koa2的中间件功能及应用示例
2020/03/05 Javascript
Sublime开发python程序的示例代码
2018/01/24 Python
python实现log日志的示例代码
2018/04/28 Python
利用python脚本如何简化jar操作命令
2019/02/24 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
python getpass实现密文实例详解
2019/09/24 Python
德国购买踏板车网站:Microscooter
2019/10/14 全球购物
汽车维修专业个人求职信范文
2014/01/01 职场文书
社区国庆节活动方案
2014/02/05 职场文书
新年团拜会主持词
2014/04/02 职场文书
申论倡议书范文
2014/05/13 职场文书
考生诚信考试承诺书
2014/05/23 职场文书
2015年小学一年级班主任工作总结
2015/05/21 职场文书
2015年小学语文教学工作总结
2015/05/25 职场文书
PyTorch中permute的使用方法
2022/04/26 Python