How to sort a list of objects by specific class variable in Python

1 Answer

0 votes
class Worker:
    def __init__(self, name, department, age):
        self.name = name
        self.department = department
        self.age = age
    def __repr__(self):
        return repr((self.name, self.department, self.age))

workers_o = [
    Worker('Tom', 'Dev', 34),
    Worker('Ally', 'Dev', 27),
    Worker('Isla', 'Dev', 54),
    Worker('Milo', 'QA', 49),
]
 
 
print(workers_o)
 
workers_o = sorted(workers_o, key=lambda w: w.age)  
 
print(workers_o)
 
 
 
     
'''
run:
     
[('Tom', 'Dev', 34), ('Ally', 'Dev', 27), ('Isla', 'Dev', 54), ('Milo', 'QA', 49)]
[('Ally', 'Dev', 27), ('Tom', 'Dev', 34), ('Milo', 'QA', 49), ('Isla', 'Dev', 54)]
 
'''

 



answered Jun 24, 2020 by avibootz

Related questions

1 answer 190 views
1 answer 207 views
2 answers 217 views
3 answers 344 views
1 answer 118 views
1 answer 134 views
...