详解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获取文件版本信息、公司名和产品名的方法
Oct 05 Python
深入解析Python中的urllib2模块
Nov 13 Python
Python竟能画这么漂亮的花,帅呆了(代码分享)
Nov 15 Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
Jun 28 Python
CentOS 7下安装Python3.6 及遇到的问题小结
Nov 08 Python
利用python GDAL库读写geotiff格式的遥感影像方法
Nov 29 Python
简单了解python的一些位运算技巧
Jul 13 Python
Python中拆分字符串的操作方法
Jul 23 Python
Python Web框架之Django框架Form组件用法详解
Aug 16 Python
使用python3 实现插入数据到mysql
Mar 02 Python
30行Python代码实现高分辨率图像导航的方法
May 22 Python
Python 在函数上添加包装器
Jul 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中文本操作的类
2007/03/17 PHP
PHP中使用cURL实现Get和Post请求的方法
2013/03/13 PHP
php之Memcache学习笔记
2013/06/17 PHP
学习php开源项目的源码指南
2014/12/21 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
Yii框架实现对数据库的CURD操作示例
2019/09/03 PHP
JavaScript开发规范要求(规范化代码)
2010/08/16 Javascript
javascript中关于break,continue的特殊用法与介绍
2012/05/24 Javascript
用JS实现3D球状标签云示例代码
2013/12/01 Javascript
js中function()使用方法
2013/12/24 Javascript
javascript解三阶幻方(九宫格)
2015/04/22 Javascript
JS实现仿QQ聊天窗口抖动特效
2015/05/10 Javascript
jQuery简易时光轴实现方法示例
2017/03/13 Javascript
纯原生js实现贪吃蛇游戏
2020/04/16 Javascript
yarn的使用与升级Node.js的方法详解
2017/06/04 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
vue指令只能输入正数并且只能输入一个小数点的方法
2018/06/08 Javascript
JavaScript类数组对象转换为数组对象的方法实例分析
2018/07/24 Javascript
vue router 传参获取不到的解决方式
2019/11/13 Javascript
Vue Router中应用中间件的方法
2020/08/06 Javascript
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
python 使用re.search()筛选后 选取部分结果的方法
2018/11/28 Python
Python docx库用法示例分析
2019/02/16 Python
用python实现刷点击率的示例代码
2019/02/21 Python
Win10 安装PyCharm2019.1.1(图文教程)
2019/09/29 Python
Python命令行click参数用法解析
2019/12/19 Python
用python计算文件的MD5值
2020/12/23 Python
Perfume’s Club中文官网:西班牙美妆在线零售品牌
2020/08/24 全球购物
一百多行代码实现react拖拽hooks
2021/03/23 Javascript
网络专业学生个人的自我评价
2013/12/16 职场文书
电子商务专业求职信
2014/03/08 职场文书
副处级干部考察材料
2014/05/17 职场文书
高效课堂标语
2014/06/26 职场文书
大学生万能检讨书范例
2014/10/04 职场文书
学校通报表扬范文
2015/05/04 职场文书
解决Golang中goroutine执行速度的问题
2021/05/02 Golang