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中的输入和输出功能进行读取和写入的教程
Apr 14 Python
python函数中return后的语句一定不会执行吗?
Jul 06 Python
在VS Code上搭建Python开发环境的方法
Apr 06 Python
对python 中class与变量的使用方法详解
Jun 26 Python
使用python实现回文数的四种方法小结
Nov 24 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
Jan 06 Python
Python异常继承关系和自定义异常实现代码实例
Feb 20 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
Feb 21 Python
4行Python代码生成图像验证码(2种)
Apr 07 Python
Python常用类型转换实现代码实例
Jul 28 Python
python爬取豆瓣电影排行榜(requests)的示例代码
Feb 18 Python
python实现简单聊天功能
Jul 07 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
论坛头像随机变换代码
2006/10/09 PHP
php中对xml读取的相关函数的介绍一
2008/06/05 PHP
php 多个submit提交表单 处理方法
2009/07/07 PHP
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
2012/07/01 PHP
js时间日期和毫秒的相互转换
2013/02/22 Javascript
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
javascript稀疏数组(sparse array)和密集数组用法分析
2016/12/28 Javascript
Angular.js与node.js项目里用cookie校验账户登录详解
2017/02/22 Javascript
vue实现点击展开点击收起效果
2018/04/27 Javascript
Vue动态加载异步组件的方法
2018/11/21 Javascript
vue实现的双向数据绑定操作示例
2018/12/04 Javascript
浅谈javascript中的prototype和__proto__的理解
2019/04/07 Javascript
vue实现倒计时获取验证码效果
2020/04/17 Javascript
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
JavaScript文档加载模式以及元素获取
2020/07/28 Javascript
微信小程序实现电子签名功能
2020/07/29 Javascript
js实现星星海特效的示例
2020/09/28 Javascript
axios解决高并发的方法:axios.all()与axios.spread()的操作
2020/11/09 Javascript
详解Vue 的异常处理机制
2020/11/30 Vue.js
Python的一些用法分享
2012/10/07 Python
python入门基础之用户输入与模块初认识
2016/11/14 Python
Python数据结构与算法之图的基本实现及迭代器实例详解
2017/12/12 Python
Python使用一行代码获取上个月是几月
2018/08/30 Python
如何使用Python进行OCR识别图片中的文字
2019/04/01 Python
Python partial函数原理及用法解析
2019/12/11 Python
python 如何将office文件转换为PDF
2020/09/22 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
2020/12/04 Python
Nike英国官网:Nike.com (UK)
2017/02/13 全球购物
乌克兰排名第一的在线旅游超市:Farvater.Travel
2020/01/02 全球购物
行政助理的职责
2013/11/14 职场文书
消防安全汇报材料
2014/02/08 职场文书
创建服务型党组织实施方案
2014/02/25 职场文书
店铺转让协议书
2015/01/29 职场文书
2016党性教育学习心得体会
2016/01/21 职场文书
劳务派遣管理制度(样本)
2019/08/23 职场文书
Spring Data JPA的Audit功能审计数据库的变更
2021/06/26 Java/Android