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多进程和多线程究竟谁更快(详解)
May 29 Python
python中的变量如何开辟内存
Jun 26 Python
Django框架的使用教程路由请求响应的方法
Jul 03 Python
Python实现聊天机器人的示例代码
Jul 09 Python
Python3爬虫之urllib携带cookie爬取网页的方法
Dec 28 Python
浅谈python3中input输入的使用
Aug 02 Python
python3.6编写的单元测试示例
Aug 17 Python
关于Python-faker的函数效果一览
Nov 28 Python
Tensorflow分批量读取数据教程
Feb 07 Python
Python如何读写二进制数组数据
Aug 01 Python
Python高阶函数与装饰器函数的深入讲解
Nov 10 Python
PyCharm2020.3.2安装超详细教程
Feb 08 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数组内存耗用太多问题的解决方法
2010/04/05 PHP
不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题
2011/08/12 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
2016/06/22 PHP
input 输入框内的输入事件详细分析
2010/03/17 Javascript
js禁止回车提交表单的示例代码
2013/12/23 Javascript
javascript数组详解
2014/10/22 Javascript
深入探讨JavaScript String对象
2015/03/09 Javascript
Javascript编写2048小游戏
2015/07/07 Javascript
使用JSON作为函数的参数的优缺点
2016/10/27 Javascript
谈谈jQuery之Deferred源码剖析
2016/12/19 Javascript
微信小程序 自动登陆PHP源码实例(源码下载)
2017/05/08 Javascript
vue axios 在页面切换时中断请求方法 ajax
2018/03/05 Javascript
.vue文件 加scoped 样式不起作用的解决方法
2018/05/28 Javascript
Bootstrap Table实现定时刷新数据的方法
2018/08/13 Javascript
微信小程序通过一个json实现分享朋友圈图片
2019/09/03 Javascript
jquery+ajax实现异步上传文件显示进度条
2020/08/17 jQuery
TensorFlow模型保存/载入的两种方法
2018/03/08 Python
在NumPy中创建空数组/矩阵的方法
2018/06/15 Python
python整合ffmpeg实现视频文件的批量转换
2019/05/31 Python
基于django ManyToMany 使用的注意事项详解
2019/08/09 Python
Python实现RabbitMQ6种消息模型的示例代码
2020/03/30 Python
Python操作Jira库常用方法解析
2020/04/10 Python
Python实现AI换脸功能
2020/04/10 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
2020/04/14 Python
html5 初试 indexedDB(推荐)
2016/07/21 HTML / CSS
HTML5新特性之语义化标签
2017/10/31 HTML / CSS
欧洲最大的婴幼儿服装及内衣公司:Petit Bateau(小帆船)
2016/08/16 全球购物
澳大利亚排名第一的在线酒类商店:MyBottleShop
2018/04/26 全球购物
台湾SHOPRO购物行家:亚洲首创影视.3C.家电.优质购物平台
2018/05/07 全球购物
英国最受信任的在线眼镜商之一:Fashion Eyewear
2019/10/31 全球购物
linux面试题参考答案(1)
2016/01/22 面试题
如何写毕业求职自荐信
2013/11/06 职场文书
优秀广告词大全
2014/03/19 职场文书
表扬信格式模板
2015/05/05 职场文书
详解python字符串驻留技术
2021/05/21 Python
Logback 使用TurboFilter实现日志级别等内容的动态修改操作
2021/08/30 Java/Android