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来编写HTTP服务器的超级指南
Feb 18 Python
python删除某个字符
Mar 19 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
Sep 13 Python
numpy 计算两个数组重复程度的方法
Nov 07 Python
详解Python读取yaml文件多层菜单
Mar 23 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
May 15 Python
命令行运行Python脚本时传入参数的三种方式详解
Oct 11 Python
Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例
Oct 12 Python
tensorflow入门:TFRecordDataset变长数据的batch读取详解
Jan 20 Python
python实现处理mysql结果输出方式
Apr 09 Python
基于Python中random.sample()的替代方案
May 23 Python
python压包的概念及实例详解
Feb 17 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
人族 Terran 基本策略
2020/03/14 星际争霸
php使用递归计算文件夹大小
2014/12/24 PHP
PHP使用ODBC连接数据库的方法
2015/07/18 PHP
WordPress中编写自定义存储字段的相关PHP函数解析
2015/12/25 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
js实时监听文本框状态的方法
2011/04/26 Javascript
jquery高效反选具体实现
2013/05/05 Javascript
Javascript四舍五入Math.round()与Math.pow()使用介绍
2013/12/27 Javascript
jQuery中阻止冒泡事件的方法介绍
2014/04/12 Javascript
jQuery学习总结之jQuery事件
2014/06/30 Javascript
基于JavaScript短信验证码如何实现
2016/01/24 Javascript
jquery ui dialog替代confirm实例分析
2016/01/25 Javascript
jQGrid Table操作列中点击【操作】按钮弹出按钮层的实现代码
2016/12/05 Javascript
webpack4打包vue前端多页面项目
2018/09/17 Javascript
使用layui日期控件laydate对开始和结束时间进行联动控制的方法
2019/09/06 Javascript
小程序接口的promise化的实现方法
2019/12/11 Javascript
学前端,css与javascript重难点浅析
2020/06/11 Javascript
JavaScript代码实现微博批量取消关注功能
2021/02/05 Javascript
[01:19:23]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第二场
2018/04/06 DOTA
Python Flask基础教程示例代码
2018/02/07 Python
使用Python实现毫秒级抢单功能
2019/06/06 Python
Python PIL读取的图像发生自动旋转的实现方法
2019/07/05 Python
30秒学会30个超实用Python代码片段【收藏版】
2019/10/15 Python
基于virtualenv创建python虚拟环境过程图解
2020/03/30 Python
如何教少儿学习Python编程
2020/07/10 Python
python中os.remove()用法及注意事项
2021/01/31 Python
HTML5实现页面切换激活的PageVisibility API使用初探
2016/05/13 HTML / CSS
使用phonegap获取位置信息的实现方法
2017/03/31 HTML / CSS
friso美素佳儿官方海外旗舰店:荷兰原产原罐
2017/07/03 全球购物
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
.net面试题
2016/09/17 面试题
学校查摆问题整改措施
2014/09/28 职场文书
三好学生个人总结
2015/02/15 职场文书
2016学校元旦晚会经典开场白台词
2015/12/03 职场文书
初中物理教学反思
2016/02/19 职场文书
Oracle查看表空间使用率以及爆满解决方案详解
2022/07/23 Oracle