详解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 相关文章推荐
ssh批量登录并执行命令的python实现代码
May 25 Python
使用python删除nginx缓存文件示例(python文件操作)
Mar 26 Python
Ruby元编程基础学习笔记整理
Jul 02 Python
Python的argparse库使用详解
Oct 09 Python
对python中的iter()函数与next()函数详解
Oct 18 Python
python OpenCV GrabCut使用实例解析
Nov 11 Python
pytorch中nn.Conv1d的用法详解
Dec 31 Python
win7上tensorflow2.2.0安装成功 引用DLL load failed时找不到指定模块 tensorflow has no attribute xxx 解决方法
May 20 Python
Django 实现 Websocket 广播、点对点发送消息的代码
Jun 03 Python
Python无损压缩图片的示例代码
Aug 06 Python
opencv实现图像几何变换
Mar 24 Python
用python批量解压带密码的压缩包
May 31 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
多数据表共用一个页的新闻发布
2006/10/09 PHP
php模拟asp中的XmlHttpRequest实现http请求的代码
2011/03/24 PHP
PHP SEO优化之URL优化方法
2011/04/21 PHP
php中设置index.php文件为只读的方法
2013/02/06 PHP
浅谈php函数serialize()与unserialize()的使用方法
2014/08/19 PHP
Yii2实现自定义独立验证器的方法
2017/05/05 PHP
Django中的cookie与session操作实例代码
2017/08/17 PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
2017/09/15 PHP
PHP学习记录之数组函数
2018/06/01 PHP
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
2007/05/08 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
JS实现局部选择打印和局部不选择打印
2014/04/03 Javascript
jQuery性能优化技巧分析
2015/02/20 Javascript
分享9个最好用的JavaScript开发工具和代码编辑器
2015/03/24 Javascript
javascript实现右侧弹出“分享到”窗口效果
2016/02/01 Javascript
JQUERY表单暂存功能插件分享
2016/02/23 Javascript
浅谈js基本数据类型和typeof
2016/08/09 Javascript
bootstrap为水平排列的表单和内联表单设置可选的图标
2017/02/15 Javascript
基于Bootstrap的网页设计实例
2017/03/01 Javascript
nodejs中模块定义实例详解
2017/03/18 NodeJs
JS判断一个数是否是水仙花数
2017/06/11 Javascript
微信页面弹出键盘后iframe内容变空白的解决方案
2017/09/20 Javascript
node+express框架中连接使用mysql(经验总结)
2018/11/10 Javascript
微信小程序HTTP接口请求封装代码实例
2019/09/05 Javascript
关于JS解构的5种有趣用法
2019/09/05 Javascript
python中类的一些方法分析
2014/09/25 Python
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
Django开发中复选框用法示例
2018/03/20 Python
Python实现将Excel转换成为image的方法
2018/10/23 Python
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
amazeui树节点自动展开折叠面板并选中第一个树节点的实现
2020/08/24 HTML / CSS
Camille Jewelry官网:现代女性时尚首饰
2019/07/07 全球购物
教育孩子心得体会
2014/01/01 职场文书
2019年个人工作总结范文(3篇)
2019/08/27 职场文书
Win10 heic文件怎么打开 ? Win10 heic文件打开教程
2022/04/06 数码科技
python数字图像处理数据类型及颜色空间转换
2022/06/28 Python