详解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 相关文章推荐
pymongo为mongodb数据库添加索引的方法
May 11 Python
Python编程之变量赋值操作实例分析
Jul 24 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
Aug 08 Python
Python获取CPU、内存使用率以及网络使用状态代码
Feb 08 Python
记录Python脚本的运行日志的方法
Jun 05 Python
python__name__原理及用法详解
Nov 02 Python
python selenium自动化测试框架搭建的方法步骤
Jun 14 Python
pytorch快速搭建神经网络_Sequential操作
Jun 17 Python
python属于软件吗
Jun 18 Python
python打开文件的方式有哪些
Jun 29 Python
python实现移动木板小游戏
Oct 09 Python
python实现学生通讯录管理系统
Feb 25 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添加MySQL数据记录代码
2008/06/07 PHP
Django中通过定时任务触发页面静态化的处理方式
2018/08/29 PHP
详解laravel passport OAuth2.0的4种模式
2019/11/04 PHP
javascript学习笔记(六) Date 日期类型
2012/06/19 Javascript
JQuery操作tr和td内容的方法实例
2013/03/06 Javascript
node.js中的fs.fchmodSync方法使用说明
2014/12/16 Javascript
jQuery中data()方法用法实例
2014/12/27 Javascript
深入浅析同源策略和跨域访问
2015/11/26 Javascript
全面了解JavaScript的数据类型转换
2016/07/01 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
Bootstrap输入框组件使用详解
2017/06/09 Javascript
Angular使用Md5加密的解决方法
2017/09/16 Javascript
实时监控input框,实现输入框与下拉框联动的实例
2018/01/23 Javascript
vue-infinite-loading2.0 中文文档详解
2018/04/08 Javascript
vue-cli 组件的导入与使用教程详解
2018/04/11 Javascript
element-ui 表格数据时间格式化的方法
2018/08/24 Javascript
详解Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on
2018/10/12 Javascript
微信小程序基于Taro的分享图片功能实践详解
2019/07/12 Javascript
[01:20]辉夜杯背景故事宣传片《辉夜传说》
2015/12/25 DOTA
[01:09:20]NB vs NAVI Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
python 实现归并排序算法
2012/06/05 Python
Python引用传值概念与用法实例小结
2017/10/07 Python
python实现一个简单的并查集的示例代码
2018/03/19 Python
浅析PHP与Python进行数据交互
2018/05/15 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
Python tkinter和exe打包的方法
2020/02/05 Python
Python HTMLTestRunner库安装过程解析
2020/05/25 Python
Python 如何实现数据库表结构同步
2020/09/29 Python
意大利简约的休闲品牌:Aspesi
2018/02/08 全球购物
个人找工作的自我评价
2013/10/17 职场文书
国家励志奖学金获奖感言
2014/01/09 职场文书
计算机个人求职信范例
2014/01/24 职场文书
导游词之沈阳植物园
2019/11/30 职场文书
Pytorch中Softmax和LogSoftmax的使用详解
2021/06/05 Python
关于Spring配置文件加载方式变化引发的异常详解
2022/01/18 Java/Android
Vue.Draggable实现交换位置
2022/04/07 Vue.js