详解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常见文件操作的函数示例代码
Nov 15 Python
python字符串替换示例
Apr 24 Python
Python中的日期时间处理详解
Nov 17 Python
Python 3中print函数的使用方法总结
Aug 08 Python
Python通过调用mysql存储过程实现更新数据功能示例
Apr 03 Python
Pandas标记删除重复记录的方法
Apr 08 Python
Numpy中的mask的使用
Jul 21 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
Apr 25 Python
Python简易版图书管理系统
Aug 12 Python
Python hmac模块使用实例解析
Dec 24 Python
python 网络编程要点总结
Jun 18 Python
python的列表生成式,生成器和generator对象你了解吗
Mar 16 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
微信公众平台开发-微信服务器IP接口实例(含源码)
2017/03/05 PHP
详谈phpAdmin修改密码后拒绝访问的问题
2017/04/03 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
javascript Prototype 对象扩展
2009/05/15 Javascript
JS HTML5 音乐天气播放器(Ajax获取天气信息)
2013/05/26 Javascript
jQuery实现单行文字间歇向上滚动源代码
2013/06/02 Javascript
js取得html iframe中的元素和变量值
2014/06/30 Javascript
JavaScript中的对象序列化介绍
2014/12/30 Javascript
深入探究AngularJS框架中Scope对象的超级教程
2016/01/04 Javascript
深入浅析JavaScript中with语句的理解
2016/05/12 Javascript
使用jQuery中的wrap()函数操作HTML元素的教程
2016/05/24 Javascript
js鼠标单击和双击事件冲突问题的快速解决方法
2016/07/11 Javascript
基于jQuery实现Accordion手风琴自定义插件
2020/10/13 Javascript
完美解决node.js中使用https请求报CERT_UNTRUSTED的问题
2017/01/08 Javascript
vue实现一个移动端屏蔽滑动的遮罩层实例
2017/06/08 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
解决layui的table插件无法多层级获取json数据的问题
2019/09/19 Javascript
vue 实现LED数字时钟效果(开箱即用)
2019/12/08 Javascript
JS正则表达式常见函数与用法小结
2020/04/13 Javascript
vue 解决uglifyjs-webpack-plugin打包出现报错的问题
2020/08/04 Javascript
jQuery实现朋友圈查看图片
2020/09/11 jQuery
ES6中的Javascript解构的实现
2020/10/30 Javascript
python2.7删除文件夹和删除文件代码实例
2013/12/18 Python
python获取当前计算机cpu数量的方法
2015/04/18 Python
Python读取文件内容的三种常用方式及效率比较
2017/10/07 Python
python 默认参数相关知识详解
2019/09/18 Python
python deque模块简单使用代码实例
2020/03/12 Python
西班牙自行车和跑步商店:Alltricks
2018/07/07 全球购物
联想马亚西亚官方网站:Lenovo Malaysia
2018/09/19 全球购物
网站推广策划方案
2014/06/04 职场文书
商业用房租赁协议书
2014/10/13 职场文书
高一军训决心书
2015/02/05 职场文书
2015年高校图书馆工作总结
2015/04/30 职场文书
2015年关爱留守儿童工作总结
2015/05/22 职场文书
2016五一劳动节慰问信
2015/11/30 职场文书
html实现随机点名器的示例代码
2021/04/02 Javascript