对自定义的类组成的列表进行排序。
内建的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)]
Python资源分享qun 784758214 ,内有安装包,PDF,学习视频,这里是Python学习者的聚集地,零基础,进阶,都欢迎
attrgetter通常会更快一点。上面计数同样适用min()和max()函数。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦