详解python中sort排序使用


Posted in Python onMarch 23, 2019

1.前言

昨天一学妹问我一个关于python的问题,当时在外忙碌,没时间细看。今天看一下,咋一看我还真的不知道这个问题,bookinfo.sort(reverse=True ,key=lambda x:(x[1],x[1]/x[2]))是如何排序的。但是我猜测应该是按照第二个元素排序,如果第二个元素相同,就按照第二个元素和第三个元素的比值排序。猜测归猜测,自己就去测试了一下。过程如下。

2.环境准备

系统:win10

python版本:3.6

3.程序实现

为了满足实验要求,就设置几个第二个元素相同的数据如:摆渡人

bookinfo=[('不一样的卡梅拉(全套)',22.50,120),('零基础学Android',65.10,89.80),
     ('摆渡人',23.40,36.00),('福尔摩斯探案全集8册',22.50,128),('不一样的卡梅拉(全套)',22.50,100),('摆渡人',23.40,40.00)]
bookinfo.sort(key=lambda x:(x[1],x[1]/x[2]))  
for temp in bookinfo:
	print(temp,"x[1]/x[2]:",temp[1]/temp[2])

程序运行后的结果是:

('福尔摩斯探案全集8册', 22.5, 128) x[1]/x[2]: 0.17578125
('不一样的卡梅拉(全套)', 22.5, 120) x[1]/x[2]: 0.1875
('不一样的卡梅拉(全套)', 22.5, 100) x[1]/x[2]: 0.225
('摆渡人', 23.4, 40.0) x[1]/x[2]: 0.585
('摆渡人', 23.4, 36.0) x[1]/x[2]: 0.6499999999999999
('零基础学Android', 65.1, 89.8) x[1]/x[2]: 0.7249443207126949
[Finished in 0.2s]

 4.sort拓展

在使用sort函数的时候需要注意的是:该函数会修改原来的数组,不会返回新的数组。

如果想使用逆序则可以:bookinfo.sort(reverse=True,key=lambda x:(x[1],x[1]/x[2]))

key这个属性后的x是任意的,自定义的,代表当前的元素的内容。

以上所述是小编给大家介绍的python中sort排序使用详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
windows下python模拟鼠标点击和键盘输示例
Feb 28 Python
Python fileinput模块使用介绍
Nov 30 Python
Python CSV模块使用实例
Apr 09 Python
Python输出PowerPoint(ppt)文件中全部文字信息的方法
Apr 28 Python
python中enumerate函数遍历元素用法分析
Mar 11 Python
Python3.5运算符操作实例详解
Apr 25 Python
Python 余弦相似度与皮尔逊相关系数 计算实例
Dec 23 Python
opencv 图像腐蚀和图像膨胀的实现
Jul 07 Python
python如何导入依赖包
Jul 13 Python
Python importlib模块重载使用方法详解
Oct 13 Python
python 邮件检测工具mmpi的使用
Jan 04 Python
matplotlib绘制多子图共享鼠标光标的方法示例
Jan 08 Python
Python基础之函数的定义与使用示例
Mar 23 #Python
详解用Python练习画个美队盾牌
Mar 23 #Python
详解python中TCP协议中的粘包问题
Mar 22 #Python
Python JSON格式数据的提取和保存的实现
Mar 22 #Python
Python3.4解释器用法简单示例
Mar 22 #Python
Python常见数字运算操作实例小结
Mar 22 #Python
详解python校验SQL脚本命名规则
Mar 22 #Python
You might like
Zend studio for eclipse中使php可以调用mysql相关函数的设置方法
2008/10/13 PHP
一个基于phpQuery的php通用采集类分享
2014/04/09 PHP
PHP中file_exists函数不支持中文名的解决方法
2014/07/26 PHP
实例讲解如何在PHP的Yii框架中进行错误和异常处理
2016/03/17 PHP
php PDO异常处理详解
2016/11/20 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
2019/02/14 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
2020/04/14 PHP
js 匿名调用实现代码
2009/06/19 Javascript
分享十五个最佳jQuery 幻灯插件和教程
2010/03/27 Javascript
JS 进度条效果实现代码整理
2011/05/21 Javascript
JavaScript高级程序设计 阅读笔记(二十一) JavaScript中的XML
2012/09/14 Javascript
javascript查找字符串中出现最多的字符和次数的小例子
2013/10/29 Javascript
使用jquery写个更改表格行顺序的小功能
2014/04/29 Javascript
jquery实现无限分级横向导航菜单的方法
2015/03/12 Javascript
jQuery实现给页面换肤的方法
2015/05/30 Javascript
详解AngularJS实现表单验证
2015/12/10 Javascript
全面解析Bootstrap中transition、affix的使用方法
2016/05/30 Javascript
Bootstrap企业网站实战项目4
2016/10/14 Javascript
javascript的document中的动态添加标签实现方法
2016/10/24 Javascript
扩展Bootstrap Tooltip插件使其可交互的方法
2016/11/07 Javascript
基于JS实现翻书效果的页面切换样式
2017/02/16 Javascript
webpack 1.x升级过程中的踩坑总结大全
2017/08/09 Javascript
vue如何将v-for中的表格导出来
2018/05/07 Javascript
layui表格内放置图片,并点击放大的实例
2019/09/10 Javascript
JS Ajax请求会话过期处理问题解决方法分析
2019/11/16 Javascript
vue图片裁剪插件vue-cropper使用方法详解
2020/12/16 Vue.js
Python有序查找算法之二分法实例分析
2017/12/11 Python
Python使用爬虫爬取静态网页图片的方法详解
2018/06/05 Python
20行python代码实现人脸识别
2019/05/05 Python
PyQT5 实现快捷键复制表格数据的方法示例
2020/06/19 Python
波兰品牌鞋履在线商店:Eastend.pl
2020/01/11 全球购物
教师师德考核自我评价
2014/09/13 职场文书
预备党员自我批评思想汇报
2014/10/10 职场文书
写给纪委的违纪检讨书
2015/05/05 职场文书
写给女朋友的检讨书
2015/05/06 职场文书
聘任通知书
2015/09/21 职场文书