详解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避免死锁方法实例分析
Jun 04 Python
星球大战与Python之间的那些事
Jan 07 Python
基于Python对象引用、可变性和垃圾回收详解
Aug 21 Python
Python实现的堆排序算法示例
Apr 29 Python
Anaconda下安装mysql-python的包实例
Jun 11 Python
在NumPy中创建空数组/矩阵的方法
Jun 15 Python
对python字典元素的添加与修改方法详解
Jul 06 Python
Python脚本导出为exe程序的方法
Mar 25 Python
Python sorted排序方法如何实现
Mar 31 Python
Django实现内容缓存实例方法
Jun 30 Python
基于Python的一个自动录入表格的小程序
Aug 05 Python
python3爬虫中多线程的优势总结
Nov 24 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
mac下Apache + MySql + PHP搭建网站开发环境
2014/06/02 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
如何在PHP中读写文件
2020/09/07 PHP
JS DOM 操作实现代码
2010/08/01 Javascript
jQuery Animation实现CSS3动画示例介绍
2013/08/14 Javascript
js获取或设置当前窗口url参数的小例子
2013/10/14 Javascript
利用js实现禁止复制文本信息
2015/06/03 Javascript
JS实现方形抽奖效果
2018/08/27 Javascript
详解Vue2.0组件的继承与扩展
2018/11/23 Javascript
bootstrap table.js动态填充单元格数据的多种方法
2019/07/18 Javascript
优化Vue中date format的性能详解
2020/01/13 Javascript
在Django的上下文中设置变量的方法
2015/07/20 Python
Python多线程编程之多线程加锁操作示例
2018/09/06 Python
Python中创建二维数组
2018/10/17 Python
利用python在excel里面直接使用sql函数的方法
2019/02/08 Python
python并发编程多进程之守护进程原理解析
2019/08/20 Python
python序列化与数据持久化实例详解
2019/12/20 Python
python目标检测给图画框,bbox画到图上并保存案例
2020/03/10 Python
Python函数递归调用实现原理实例解析
2020/08/11 Python
MoviePy常用剪辑类及Python视频剪辑自动化
2020/12/18 Python
CSS3教程(6):创建网站多列
2009/04/02 HTML / CSS
HTML5实现自带进度条和滑块滑杆效果
2018/04/17 HTML / CSS
详解HTML5.2版本带来的修改
2020/05/06 HTML / CSS
日本动漫周边服饰销售网站:Atsuko
2019/12/16 全球购物
澳大利亚在线性感内衣商店:Fantasy Lingerie
2021/02/07 全球购物
初中英语教学反思
2014/01/25 职场文书
生物制药自我鉴定
2014/01/25 职场文书
自我鉴定 电子商务专业
2014/01/30 职场文书
小学生学雷锋演讲稿
2014/04/25 职场文书
毕业设计说明书
2014/05/07 职场文书
2015毕业生实习期工作总结
2015/04/09 职场文书
婚礼双方父亲致辞
2015/07/27 职场文书
导游词之山西-五老峰
2019/10/07 职场文书
聊聊Python中关于a=[[]]*3的反思
2021/06/02 Python
深入理解java.lang.String类的不可变性
2021/06/27 Java/Android
阿里云k8s服务升级时502错误 springboot项目应用
2022/04/09 Servers