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正确重载运算符的方法示例详解
Aug 27 Python
Python使用三种方法实现PCA算法
Dec 12 Python
python如何统计序列中元素
Jul 31 Python
Python使用pyodbc访问数据库操作方法详解
Jul 05 Python
python 重命名轴索引的方法
Nov 10 Python
python从子线程中获得返回值的方法
Jan 30 Python
Scrapy框架爬取西刺代理网免费高匿代理的实现代码
Feb 22 Python
django框架模型层功能、组成与用法分析
Jul 30 Python
python多继承(钻石继承)问题和解决方法简单示例
Oct 21 Python
python 有效的括号的实现代码示例
Nov 11 Python
python关于调用函数外的变量实例
Dec 26 Python
keras的siamese(孪生网络)实现案例
Jun 12 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面向对象全攻略 (七) 继承性
2009/09/30 PHP
PHP的简易冒泡法代码分享
2012/08/28 PHP
浅析PHP Socket技术
2013/08/02 PHP
PHP实现限制IP访问及提交次数的方法详解
2017/07/17 PHP
Laravel5.5以下版本中如何自定义日志行为详解
2018/08/01 PHP
laravel 实现根据字段不同值做不同查询
2019/10/23 PHP
获取内联和链接中的样式(js代码)
2013/04/11 Javascript
javascript中encodeURI和decodeURI方法使用介绍
2013/05/06 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
2013/05/08 Javascript
javascript使用for循环批量注册的事件不能正确获取索引值的解决方法
2014/12/20 Javascript
简单介绍jsonp 使用小结
2016/01/27 Javascript
BootStrap中Tab页签切换实例代码
2016/05/30 Javascript
js学使用setTimeout实现轮循动画
2017/07/17 Javascript
React Native 通告消息竖向轮播组件的封装
2020/08/25 Javascript
vue实现户籍管理系统
2020/05/29 Javascript
[05:37]DOTA2-DPC中国联赛 正赛 Elephant vs iG 选手采访
2021/03/11 DOTA
KMP算法精解及其Python版的代码示例
2016/06/01 Python
Python xlwt设置excel单元格字体及格式
2020/04/18 Python
python 对象和json互相转换方法
2018/03/22 Python
Python爬虫设置代理IP(图文)
2018/12/23 Python
Python Django简单实现session登录注销过程详解
2019/08/06 Python
在Pytorch中使用样本权重(sample_weight)的正确方法
2019/08/17 Python
Python爬取破解无线网络wifi密码过程解析
2019/09/17 Python
python将字符串转变成dict格式的实现
2019/11/18 Python
详解Python中的format格式化函数的使用方法
2019/11/20 Python
python PIL/cv2/base64相互转换实例
2020/01/09 Python
Jupyter Notebook远程登录及密码设置操作
2020/04/10 Python
Python3爬虫中Selenium的用法详解
2020/07/10 Python
阿玛瑞酒店中文官方网站:Amari.com
2018/02/13 全球购物
德国在线购买葡萄酒网站:Geile Weine
2019/09/24 全球购物
C#笔试题和英文面试题
2013/02/07 面试题
农药学硕士毕业生自荐信
2013/09/25 职场文书
施工人员岗位职责
2013/12/12 职场文书
计划生育目标责任书
2015/05/09 职场文书
浙江省杭州市平均工资标准是多少?
2019/07/09 职场文书
Vue vee-validate插件的简单使用
2021/06/22 Vue.js