详解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 相关文章推荐
仅利用30行Python代码来展示X算法
Apr 01 Python
Python黑魔法@property装饰器的使用技巧解析
Jun 16 Python
教你用Python创建微信聊天机器人
Mar 31 Python
matplotlib savefig 保存图片大小的实例
May 24 Python
详解python中的json和字典dict
Jun 22 Python
python opencv读mp4视频的实例
Dec 07 Python
python使用正则筛选信用卡
Jan 27 Python
对python周期性定时器的示例详解
Feb 19 Python
django的聚合函数和aggregate、annotate方法使用详解
Jul 23 Python
Python3 webservice接口测试代码详解
Jun 23 Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
Jan 12 Python
Python基础学习之奇异的GUI对话框
May 27 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
php学习笔记之 函数声明
2011/06/09 PHP
PHP多文件上传实例
2015/07/09 PHP
关于window.pageYOffset和document.documentElement.scrollTop
2011/04/05 Javascript
js querySelector和getElementById通过id获取元素的区别
2012/04/20 Javascript
使用JavaScript 实现对象 匀速/变速运动的方法
2013/05/08 Javascript
js 立即调用的函数表达式如何写
2014/01/12 Javascript
JS数组去重与取重的示例代码
2014/01/24 Javascript
控制文字内容的显示与隐藏示例
2014/06/11 Javascript
JQuery插件Quicksand实现超炫的动画洗牌效果
2015/05/03 Javascript
jquery mobile开发常见问题分析
2016/01/21 Javascript
JS中的数组方法笔记整理
2016/07/26 Javascript
Omi v1.0.2发布正式支持传递javascript表达式
2017/03/21 Javascript
原生js二级联动效果
2017/06/20 Javascript
微信小程序图片选择区域裁剪实现方法
2017/12/02 Javascript
微信小程序switch组件使用详解
2018/01/31 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
2018/10/01 Javascript
Vue slot用法(小结)
2018/10/22 Javascript
微信小程序一周时间表功能实现
2019/10/17 Javascript
[48:21]林俊杰圣堂刺客超神杀戮秀
2014/10/29 DOTA
Python列表计数及插入实例
2014/12/17 Python
python获取指定目录下所有文件名列表的方法
2015/05/20 Python
快速了解Python开发中的cookie及简单代码示例
2018/01/17 Python
解决Spyder中图片显示太小的问题
2018/04/27 Python
python安装pil库方法及代码
2019/06/25 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
2019/07/15 Python
Python values()与itervalues()的用法详解
2019/11/27 Python
tensorflow mnist 数据加载实现并画图效果
2020/02/05 Python
Python图像处理库PIL的ImageDraw模块介绍详解
2020/02/26 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
2020/03/28 Python
Python类的继承super相关原理解析
2020/10/22 Python
SkinCeuticals官网:美国药妆品牌
2018/04/19 全球购物
应届大学生自荐书
2014/06/17 职场文书
2015年勤工助学工作总结
2015/04/29 职场文书
同事去世追悼词
2015/06/23 职场文书
Python识别花卉种类鉴定网络热门植物并自动整理分类
2022/04/08 Python
vue如何在data中引入图片的正确路径
2022/06/05 Vue.js