operator.attrgetter函数

operator.attrgetter()

使用operator.attrgetter() 来代替lambda 函数

>>> from operator import attrgetter
>>> sorted(users, key=attrgetter('user_id'))
[User(3), User(23), User(99)]

attrgetter() 函数通常会运行的快点,并且还能同时允许多个字段进行比较。

如果User 实例还有一个first name 和last name 属性排序,

>>>by_name = sorted(users, key=attrgetter('last_name', 'first_name'))
也可以适用于min() 和max()函数
>>> min(users, key=attrgetter('user_id')
User(3)
>>> max(users, key=attrgetter('user_id')
User(99)

你可能感兴趣的:(python,函数)