详解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 help()函数用法详解
Mar 11 Python
使用python实现省市三级菜单效果
Jan 20 Python
python基础教程之匿名函数lambda
Jan 17 Python
python记录程序运行时间的三种方法
Jul 14 Python
Python3 queue队列模块详细介绍
Jan 05 Python
pyqt5自定义信号实例解析
Jan 31 Python
Odoo中如何生成唯一不重复的序列号详解
Feb 10 Python
Python装饰器知识点补充
May 28 Python
python SVD压缩图像的实现代码
Nov 05 Python
三个python爬虫项目实例代码
Dec 28 Python
Python 高级库15 个让新手爱不释手(推荐)
May 15 Python
Django对接elasticsearch实现全文检索的示例代码
Aug 02 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简单封装了一些常用JS操作
2007/02/25 PHP
php网站来路获取代码(针对搜索引擎)
2010/06/08 PHP
php array的学习笔记
2012/05/16 PHP
php面向对象中的魔术方法中文说明
2014/03/04 PHP
PHP实现链式操作的核心思想
2015/06/23 PHP
php实现模拟post请求用法实例
2015/07/11 PHP
PHP使用Pthread实现的多线程操作实例
2015/11/14 PHP
在myeclipse中如何加入jquery代码提示功能
2014/06/03 Javascript
javascript事件冒泡实例分析
2015/05/13 Javascript
jquery使用each方法遍历json格式数据实例
2015/05/18 Javascript
JQuery自适应窗口大小导航菜单附源码下载
2015/09/01 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
2016/01/23 Javascript
jQuery Mobile开发中日期插件Mobiscroll使用说明
2016/03/02 Javascript
Ajax验证用户名或昵称是否已被注册
2017/04/05 Javascript
json字符串传到前台input的方法
2018/08/06 Javascript
layui框架table 数据表格的方法级渲染详解
2018/08/19 Javascript
详解Python 2.6 升级至 Python 2.7 的实践心得
2017/04/27 Python
浅谈django开发者模式中的autoreload是如何实现的
2017/08/18 Python
Python编程产生非均匀随机数的几种方法代码分享
2017/12/13 Python
Python模块WSGI使用详解
2018/02/02 Python
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
简单了解python中的与或非运算
2019/09/18 Python
python 画函数曲线示例
2019/12/04 Python
Daniel Wellington官方海外旗舰店:丹尼尔惠灵顿DW手表
2018/02/22 全球购物
提高EJB性能都有哪些技巧
2012/03/25 面试题
模具专业推荐信
2013/10/30 职场文书
办公室副主任岗位职责
2013/11/25 职场文书
写自荐信三大法宝
2014/01/24 职场文书
银行办公室岗位职责
2014/03/10 职场文书
新学期国旗下演讲稿
2014/05/08 职场文书
招商引资工作汇报材料
2014/10/28 职场文书
优秀教师先进事迹材料
2014/12/15 职场文书
订货会主持词
2015/07/01 职场文书
婚礼伴郎致辞
2015/07/28 职场文书
会议承办单位欢迎词
2015/09/30 职场文书
《游戏王:大师决斗》将推出新卡牌包4月4日上线
2022/03/31 其他游戏