Python实现多属性排序的方法


Posted in Python onDecember 05, 2018

多属性排序:

把需要排序的属性拿出来作为一个 tuple,主要的放前面,次要的放后面。

假如某对象有n个属性,那么先按某规则对属性a进行排序,在属性a相等的情况下再按某规则对属性b进行排序,以此类推。

Python实现多属性排序的方法

终端打印结果如下:

Python实现多属性排序的方法

 按照属性name进行排序:

按照ASCII进行排序,本案例中,按照小写字母的顺序进行排序;

按照属性name和age进行排序:

案例中,先斤=进行name进行排序后,再用age进行排序,我们看到的结果是:
主要是按照age进行排序,如果age相同,那么就按照name属性进行排序;
我们将代码进行简化,将多个需要进行排序的属性直接放在元组里传入:

Python实现多属性排序的方法

打印结果如下:

Python实现多属性排序的方法

我们会发现,一次性将多个属性传入后,它的打印结果和上面的不一样;原因是这样的,我们如果需要进行多属性的排序,那么,主要的条件应该放在前面,次要的放在后面:

修改代码如下:

Python实现多属性排序的方法

结果如下,这就和我们想要的结果是一样的了

Python实现多属性排序的方法

总结

以上所述是小编给大家介绍的Python实现多属性排序的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python collections模块实例讲解
Apr 07 Python
python爬虫获取多页天涯帖子
Feb 23 Python
python创建文件备份的脚本
Sep 11 Python
浅谈pycharm的xmx和xms设置方法
Dec 03 Python
在python中将字符串转为json对象并取值的方法
Dec 31 Python
Python3.5面向对象与继承图文实例详解
Apr 24 Python
Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法
Aug 26 Python
Python的垃圾回收机制详解
Aug 28 Python
Python xlrd/xlwt 创建excel文件及常用操作
Sep 24 Python
Django model class Meta原理解析
Nov 14 Python
五种Python转义表示法
Nov 27 Python
如何使用PyCharm及常用配置详解
Jun 03 Python
python通过ffmgep从视频中抽帧的方法
Dec 05 #Python
Python中xml和json格式相互转换操作示例
Dec 05 #Python
Python采集猫眼两万条数据 对《无名之辈》影评进行分析
Dec 05 #Python
python_opencv用线段画封闭矩形的实例
Dec 05 #Python
在python中实现将一张图片剪切成四份的方法
Dec 05 #Python
python实现对任意大小图片均匀切割的示例
Dec 05 #Python
windows下 兼容Python2和Python3的解决方法
Dec 05 #Python
You might like
php实现ping
2006/10/09 PHP
php使用QueryList轻松采集js动态渲染页面方法
2018/09/11 PHP
laravel实现简单用户权限的示例代码
2019/05/28 PHP
php使用curl伪造浏览器访问操作示例
2019/09/30 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
2020/04/13 PHP
限制文本框输入N个字符的js代码
2010/05/13 Javascript
AJAX 网页保留浏览器前进后退等功能
2011/02/12 Javascript
判断用户是否在线的代码
2011/03/05 Javascript
JS TextArea字符串长度限制代码集合
2012/10/31 Javascript
JavaScript中输出标签的方法
2014/08/27 Javascript
详解JavaScript的变量和数据类型
2015/11/27 Javascript
angular使用post、get向后台传参的问题实例
2017/05/27 Javascript
开发Vue树形组件的示例代码
2017/12/21 Javascript
微信小程序实现topBar底部选择栏效果
2018/07/20 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
2018/09/15 Javascript
Vue开发环境中修改端口号的实现方法
2019/08/15 Javascript
[04:31]2016国际邀请赛中国区预选赛妖精采访
2016/06/27 DOTA
[25:59]Newbee vs TNC 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python连接mysql调用存储过程示例
2014/03/05 Python
Python中集合的内建函数和内建方法学习教程
2015/08/19 Python
Python面向对象class类属性及子类用法分析
2018/02/02 Python
Python爬虫实现HTTP网络请求多种实现方式
2020/06/19 Python
pytorch查看模型weight与grad方式
2020/06/24 Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
2020/06/24 Python
python 实现压缩和解压缩的示例
2020/09/22 Python
用python计算文件的MD5值
2020/12/23 Python
详解CSS3选择器:nth-child和:nth-of-type之间的差异
2017/09/18 HTML / CSS
基于 HTML5 的 WebGL 3D 版俄罗斯方块的示例代码
2018/05/28 HTML / CSS
爱尔兰灯和灯具网上商店:Lights.ie
2018/03/26 全球购物
澳大利亚排名第一的在线酒类商店:MyBottleShop
2018/04/26 全球购物
Linux中如何用命令创建目录
2015/01/12 面试题
Java语言的优势
2015/01/10 面试题
授权委托书样本及填写说明
2014/09/19 职场文书
中学生学习保证书
2015/02/26 职场文书
2015年秘书个人工作总结
2015/04/25 职场文书