详解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的Django框架中的templates设置
May 11 Python
Python3指定路径寻找符合匹配模式文件
May 22 Python
基于anaconda下强大的conda命令介绍
Jun 11 Python
python如何求解两数的最大公约数
Sep 27 Python
NumPy 基本切片和索引的具体使用方法
Apr 24 Python
Python计算两个矩形重合面积代码实例
Sep 16 Python
Django将默认的SQLite更换为MySQL的实现
Nov 18 Python
python序列化与数据持久化实例详解
Dec 20 Python
python使用docx模块读写docx文件的方法与docx模块常用方法详解
Feb 17 Python
浅谈Python 函数式编程
Jun 20 Python
分析Python感知线程状态的解决方案之Event与信号量
Jun 16 Python
Python实现将多张图片合成MP4视频并加入背景音乐
Apr 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 set_time_limit()函数的使用详解
2013/06/05 PHP
解析zend studio中直接导入svn中的项目的方法步骤
2013/06/21 PHP
标准版Eclipse搭建PHP环境的详细步骤
2015/11/18 PHP
PHP实现通过URL提取根域名
2016/03/31 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
一些有关检查数据的JS代码
2006/09/07 Javascript
javascript 支持ie和firefox杰奇翻页函数
2008/07/22 Javascript
用javascript获取当页面上鼠标光标位置和触发事件的对象的代码
2009/12/09 Javascript
JavaScript将一个数组插入到另一个数组的方法
2015/03/19 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
2017/03/23 jQuery
关于vuex的学习实践笔记
2017/04/05 Javascript
js 获取今天以及过去日期
2017/04/11 Javascript
详解Vue 中 extend 、component 、mixins 、extends 的区别
2017/12/20 Javascript
js 数组详细操作方法及解析合集
2018/06/01 Javascript
VueJS 组件参数名命名与组件属性转化问题
2018/12/03 Javascript
图文讲解vue的v-if使用方法
2019/02/11 Javascript
nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error
2019/03/02 NodeJs
webpack项目使用eslint建立代码规范实现
2019/05/16 Javascript
微信小程序开发(一):服务器获取数据列表渲染操作示例
2020/06/01 Javascript
[01:06:30]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第二场 1月9日
2021/03/11 DOTA
Python在Windows和在Linux下调用动态链接库的教程
2015/08/18 Python
python制作爬虫并将抓取结果保存到excel中
2016/04/06 Python
【Python】Python的urllib模块、urllib2模块批量进行网页下载文件
2016/11/19 Python
Python使用pylab库实现绘制直方图功能示例
2018/06/01 Python
Python3用tkinter和PIL实现看图工具
2018/06/21 Python
Python+PyQt5实现美剧爬虫可视工具的方法
2019/04/25 Python
Python基础类继承重写实现原理解析
2020/04/03 Python
Python获取android设备cpu和内存占用情况
2020/11/15 Python
HTML5 的新的表单元素(datalist/keygen/output)使用介绍
2013/07/19 HTML / CSS
巴基斯坦电子产品购物网站:Home Shopping
2017/09/14 全球购物
美国林业供应商:Forestry Suppliers
2019/05/01 全球购物
教师批评与自我批评(群众路线)
2014/10/15 职场文书
走群众路线学习心得体会
2014/10/31 职场文书
2014年幼儿园教学工作总结
2014/12/04 职场文书
Mysql数据库索引面试题(程序员基础技能)
2021/05/31 MySQL
Go gorilla/sessions库安装使用
2022/08/14 Golang