Python实现对自定义类对象排序(利用attrgetter)
程序员文章站
2022-03-16 14:08:03
...
本篇文章给大家带来的内容是关于Python实现对自定义类对象排序(利用attrgetter),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
1、需求
对自定义的类组成的列表进行排序。2、解决方案
内建的sorted()函数可接受一个用来传递可调用对象(callable)的参数key,而该可调用对象会返回待排序对象中的某些值,sorted则利用这些值来比较对象。
实例:
from operator import attrgetter class User: def __init__(self,userId): self.userId=userId def __repr__(self): return 'User({})'.format(self.userId) users=[User(40),User(20),User(30)] print(users) #方法1 print(sorted(users,key=lambda u:u.userId)) #方法2 print(sorted(users,key=attrgetter('userId')))
运行结果:
[User(40), User(20), User(30)] [User(20), User(30), User(40)] [User(20), User(30), User(40)]
attrgetter通常会更快一点。上面计数同样适用min()和max()函数。
以上就是Python实现对自定义类对象排序(利用attrgetter)的详细内容,更多请关注其它相关文章!
上一篇: PHP实现N*M的字符矩阵90度旋转
下一篇: 关于短地址还原的知识你又知道多少
推荐阅读
-
Python自定义类的数组排序实现代码
-
Python自定义类的数组排序实现代码
-
Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例
-
java中实现对类的对象进行排序
-
java中实现对类的对象进行排序
-
Python实现对自定义类对象排序(利用attrgetter)
-
以面向对象的思想,编写自定义类描述图书信息。设定属性包括:书名,作者,出版社名,价格;设置属性的私有访问权限,通过公有的get,set方法实现对属性的访问
-
Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例
-
Python实现对自定义类对象排序(利用attrgetter)