详解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 相关文章推荐
浅谈Python中列表生成式和生成器的区别
Aug 03 Python
深入学习python的yield和generator
Mar 10 Python
Python科学计算包numpy用法实例详解
Feb 08 Python
Jupyter notebook远程访问服务器的方法
May 24 Python
python实现txt文件格式转换为arff格式
May 31 Python
python如何爬取个性签名
Jun 19 Python
pandas将numpy数组写入到csv的实例
Jul 04 Python
tensorflow 打印内存中的变量方法
Jul 30 Python
python之super的使用小结
Aug 13 Python
python获取磁盘号下盘符步骤详解
Jun 19 Python
python集成开发环境配置(pycharm)
Feb 14 Python
python的列表List求均值和中位数实例
Mar 03 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
phpstorm 配置xdebug的示例代码
2019/03/31 PHP
在Windows上安装Node.js模块的方法
2011/09/25 Javascript
Prototype源码浅析 Enumerable部分之each方法
2012/01/16 Javascript
jquery插件制作 提示框插件实现代码
2012/08/17 Javascript
基于promise.js实现nodejs的promises库
2014/07/06 NodeJs
javascript学习笔记之函数定义
2015/06/25 Javascript
JavaScript字符串常用的方法
2016/03/10 Javascript
JS组件系列之Bootstrap table表格组件神器【终结篇】
2016/05/10 Javascript
URL的参数中有加号传值变为空格的问题(URL特殊字符)
2016/11/04 Javascript
jQuery之动画效果大全
2016/11/09 Javascript
20行JS代码实现粘贴板复制功能
2018/02/06 Javascript
详解为element-ui的Select和Cascader添加弹层底部操作按钮
2020/02/07 Javascript
vue实现购物车加减
2020/05/30 Javascript
[02:43]2018DOTA2亚洲邀请赛主赛事首日TOP5
2018/04/04 DOTA
Python+Django在windows下的开发环境配置图解
2009/11/11 Python
Python读取键盘输入的2种方法
2015/06/16 Python
Python打印输出数组中全部元素
2018/03/13 Python
python pandas实现excel转为html格式的方法
2018/10/23 Python
Python数据可视化教程之Matplotlib实现各种图表实例
2019/01/13 Python
Python操作SQLite/MySQL/LMDB数据库的方法
2019/11/07 Python
python matplotlib中的subplot函数使用详解
2020/01/19 Python
Jupyter Notebook输出矢量图实例
2020/04/14 Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
2020/06/02 Python
Python如何实现机器人聊天
2020/09/10 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
Laura Geller官网:美国彩妆品牌
2018/12/29 全球购物
凯普林包包西班牙官网:Kipling西班牙
2019/04/12 全球购物
董事长职责范文
2013/11/08 职场文书
优秀毕业生求职推荐信范文
2013/11/21 职场文书
入党积极分子思想汇报
2014/01/02 职场文书
安全伴我行演讲稿
2014/09/04 职场文书
简单租房协议书(范本)
2014/10/13 职场文书
单位委托函范文
2015/01/29 职场文书
创先争优活动个人总结
2015/03/04 职场文书
致运动员加油稿
2015/07/21 职场文书
Linux系统下安装PHP7.3版本
2021/06/26 PHP