详解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 探针的实现原理
Apr 23 Python
Python3.X 线程中信号量的使用方法示例
Jul 24 Python
Python断言assert的用法代码解析
Feb 03 Python
解决python中导入win32com.client出错的问题
Jul 26 Python
python网络爬虫 CrawlSpider使用详解
Sep 27 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
Feb 26 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
May 09 Python
Python 跨.py文件调用自定义函数说明
Jun 01 Python
Python实现一个优先级队列的方法
Jul 31 Python
python爬取企查查企业信息之selenium自动模拟登录企查查
Apr 08 Python
python 中yaml文件用法大全
Jul 04 Python
如何利用python实现Simhash算法
Jun 28 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验证邮箱和ip地址最简单方法汇总
2015/10/30 PHP
PHP自动补全表单的两种方法
2017/03/06 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
索趣科技的答案
2007/02/07 Javascript
Web Inspector:关于在 Sublime Text 中调试Js的介绍
2013/04/18 Javascript
动态改变div的z-index属性的简单实例
2013/08/08 Javascript
AngularJS语法详解
2015/01/23 Javascript
浅谈JavaScript 浏览器对象
2016/06/03 Javascript
JavaScript地理位置信息API
2016/06/11 Javascript
微信小程序 UI布局常用技巧整理总结
2016/12/05 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
根据Bootstrap Paginator改写的js分页插件
2016/12/25 Javascript
bootstrap multiselect 多选功能实现方法
2017/06/05 Javascript
关于Webpack dev server热加载失败的解决方法
2018/02/22 Javascript
vue.js根据代码运行环境选择baseurl的方法
2018/02/28 Javascript
JavaScript实现仿Clock ISO时钟
2018/06/29 Javascript
原生JS实现图片懒加载之页面性能优化
2019/04/26 Javascript
jQuery提示框插件SweetAlert用法分析
2019/08/05 jQuery
利用layer实现表单完美验证的方法
2019/09/26 Javascript
mpvue实现左侧导航与右侧内容的联动
2019/10/21 Javascript
Python中文件I/O高效操作处理的技巧分享
2017/02/04 Python
快速解决PyCharm无法引用matplotlib的问题
2018/05/24 Python
Python 类的特殊成员解析
2018/06/20 Python
python保存二维数组到txt文件中的方法
2018/11/15 Python
python构建基础的爬虫教学
2018/12/23 Python
django和flask哪个值得研究学习
2020/07/31 Python
Python 实现PS滤镜中的径向模糊特效
2020/12/03 Python
某同学的自我鉴定范文
2013/12/26 职场文书
乔迁宴答谢词
2014/01/21 职场文书
社会工作专业求职信
2014/07/15 职场文书
会计工作能力自我评价
2015/03/05 职场文书
2016习总书记系列重要讲话心得体会
2016/01/15 职场文书
护士医德医风心得体会
2016/01/25 职场文书
Python数据分析入门之教你怎么搭建环境
2021/05/13 Python
nginx配置之并发频次限制
2022/04/18 Servers