详解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中使用Beautiful Soup库的超详细教程
Apr 30 Python
在Python 3中实现类型检查器的简单方法
Jul 03 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
Nov 14 Python
Python模块文件结构代码详解
Feb 03 Python
PyQt5每天必学之切换按钮
Aug 20 Python
python opencv实现图片旋转矩形分割
Jul 26 Python
Python第三方Window模块文件的几种安装方法
Nov 22 Python
python+selenium 点击单选框-radio的实现方法
Sep 03 Python
python隐藏类中属性的3种实现方法
Dec 19 Python
如何使用python代码操作git代码
Feb 29 Python
20行Python代码实现一款永久免费PDF编辑工具的实现
Aug 27 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
Dec 03 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
golang与php实现计算两个经纬度之间距离的方法
2016/07/22 PHP
php实现文件与16进制相互转换的方法示例
2017/02/16 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
PHP getNamespaces()函数讲解
2019/02/03 PHP
js导出格式化的excel 实例方法
2013/07/17 Javascript
js换图片效果可进行定时操作
2014/06/09 Javascript
Javascript获取当前时间函数和时间操作小结
2014/10/01 Javascript
jQuery form插件之formDdata参数校验表单及验证后提交
2016/01/23 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
2016/12/14 Javascript
Web开发中客户端的跳转与服务器端的跳转的区别
2017/03/05 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
2019/07/31 Javascript
vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)
2019/08/12 Javascript
js实现GIF动图分解成多帧图片上传
2019/10/24 Javascript
vue实现评价星星功能
2020/06/30 Javascript
vue实现购物车的小练习
2020/12/21 Vue.js
浅谈Python中的数据类型
2015/05/05 Python
详解Python网络爬虫功能的基本写法
2016/01/28 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
2017/01/20 Python
Python复数属性和方法运算操作示例
2017/07/21 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
2020/06/24 Python
pandas 对日期类型数据的处理方法详解
2019/08/08 Python
Python测试Kafka集群(pykafka)实例
2019/12/23 Python
np.random.seed() 的使用详解
2020/01/14 Python
Python多线程操作之互斥锁、递归锁、信号量、事件实例详解
2020/03/24 Python
python数据类型强制转换实例详解
2020/06/22 Python
HTML5页面直接调用百度地图API获取当前位置直接导航目的地的实现代码
2018/03/02 HTML / CSS
Fossil美国官网:Fossil手表、手袋、珠宝及配件
2017/02/01 全球购物
泰国演唱会订票网站:StubHub泰国
2018/02/26 全球购物
EJB实例的生命周期
2016/10/28 面试题
高中生学习生活的自我评价
2013/11/27 职场文书
2014年纠风工作总结
2014/12/08 职场文书
寒假致家长的一封信
2015/10/10 职场文书
学习计划是什么
2019/04/30 职场文书
Win11绿屏怎么办?Win11绿屏死机的解决方法
2021/11/21 数码科技
yolov5返回坐标的方法实例
2022/03/17 Python
Python借助with语句实现代码段只执行有限次
2022/03/23 Python