python中对象排序的两种方式
项目github地址:bitcarmanlee easy-algorithm-interview-and-practice
欢迎大家star,留言,一起学习进步
很多时候,我们是需要针对对象序列进行排序的,尤其是针对对象的某个属性排序的场景最为常见。以下就实验两种方法来满足这个需求。
1.直接调用序列的sort方法
class Person(object):def __init__(self,age,name):self.age = ageself.name = namedef personSort():persons = [Person(age,name) for (age,name) in [(12,"lili"),(18,"lulu"),(16,"kaka"),(12,"xixi")]]persons.sort(cmp=None,key=lambda x:x.age,reverse=False)for element in persons:print element.age,":",element.name
person对象里两个字段,一个age,一个name。排序的时候按照age来进行。
2.第二种方式
def operatorSort():persons = [Person(age,name) for (age,name) in [(12,"lili"),(18,"lulu"),(16,"kaka"),(12,"xixi")]]try:import operatorexcept ImportError:cmpfun = lambda x:x.ageelse:cmpfun = operator.attrgetter("age","name")persons.sort(key = cmpfun, reverse=False)for element in persons:print element.age,":",element.name
使用operator模块的attrgetter方法,可以达到同时对几个字段排序的目的。本例中就是先对age字段排序,如果age相等再按name排序。
python中对象排序的两种方式相关推荐
- 站长在线Python精讲:在Python中格式化字符串的两种方法详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中格式化字符串的两种方法详解>.本知识点主要内容有:使用%操作符格式化字符串和使用format()方法格式化字 ...
- django + python上传文件的两种方式
突然心血来潮,研究了下django+python上传文件的两种方式. 第一:直接采用文件读写的方式上传 1. settings.py文件中设置文件的存放路径和文件读取路径 MEDIA_ROOT = o ...
- Python实现图片裁剪的两种方式——Pillow和OpenCV
在这篇文章里我们聊一下Python实现图片裁剪的两种方式,一种利用了Pillow,还有一种利用了OpenCV.两种方式都需要简单的几行代码,这可能也就是现在Python那么流行的原因吧. 首先,我们有 ...
- 实验四:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
贺邦+原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验目的: 使用库函数 ...
- python自带的shell是什么-python中执行shell的两种方法总结
一.使用python内置commands模块执行shell commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态: ...
- Java中HashMap遍历的两种方式
第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Ma ...
- 使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
实验4:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 姓名:李冬辉 学号:20133201 注: 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http ...
- python中调用API的几种方式
python中调用API的几种方式: urllib2 httplib2 pycurl requests urllib2 import urllib2, urllib github_url ='http ...
- sh执行文件 参数传递_详解shell中脚本参数传递的两种方式
方式一:$0,$1,$2.. 采用$0,$1,$2..等方式获取脚本命令行传入的参数,值得注意的是,$0获取到的是脚本路径以及脚本名,后面按顺序获取参数,当参数超过10个时(包括10个),需要使用${ ...
- python中的or的两种用法
python中的or的两种用法 python中or除了常见的和and作为判断的条件外,还有一种不多见但很实用的用法,那就是: a = b or c 在这条赋值语句中的 or 的含义是判断 b 和 c ...
最新文章
- AI工程师面试屡被拒:比贫穷脱发更恐怖的是,2020年你仍不会……
- truncate数据后回收空间_Truncate用法详解
- 11.17-20 | KubeCon 北美 2020 阿里巴巴完整议题
- Java网页小程序——Java Applet
- BZOJ 4610: [Wf2016]Ceiling Functi 水题
- 安卓第三阶段实训项目:基于网络乐库音乐播放器V1.0
- IOS 内存优化和调试技巧
- js基础 之 引用类型
- linux命令安装中英文插件,linux – 如何使用命令行自动安装Eclipse插件?
- Centos如何安装163yum源
- MyBatis映射表问题
- 问卷调查报告html模版,问卷调查报告的格式
- 有没有好用的文字转语音的工具帮推荐?
- hive之内表和外表
- BZOJ_4698_Sdoi2008 Sandy的卡片_后缀数组+单调队列+双指针
- 2019年奥斯卡获奖电影绿皮书经典台词(中英文对照)
- Linux安装Discuz论坛(centos 7)
- 最全的项目部署+持续集成解决方案:Jenkins + git + docker
- 晶振、时钟周期、机器周期
- 上海世博会展示未来6大生活趋势