class Employee:
def __init__(self, name, age, salary):
self.name = name
self.age = age
self.salary = salary
def __repr__(self):
return repr((self.name, self.age, self.salary))
employees = [
Employee('Peter', 21, 6),
Employee('Kevin', 22, 4),
Employee('Simon', 21, 8)
]
[('Peter', 21, 6), ('Kevin', 22, 4), ('Simon', 21, 8)]
# sorting
sorted(employees, key = lambda e: e.salary)
[('Kevin', 22, 4), ('Peter', 21, 6), ('Simon', 21, 8)]
sorted(employees, key = lambda e: -e.salary)
[('Simon', 21, 8), ('Peter', 21, 6), ('Kevin', 22, 4)]
from operator import itemgetter, attrgetter
sorted(employees, key=attrgetter('age'))
[('Peter', 21, 6), ('Simon', 21, 8), ('Kevin', 22, 4)]
young_employees = sorted(employees, key=attrgetter('age'), reverse=False)
[('Peter', 21, 6), ('Simon', 21, 8), ('Kevin', 22, 4)]