How to sort dictionaries of objects by attribute value?
attributes, dictionary, python, sorting
Solution
for student in (sorted(student_Dict.values(), key=operator.attrgetter('age'))):
print(student.name)
Problem
I would like to iterate over a dictionary of objects in an attribute sorted way ``` import operator class Student: def __init__(self, name, grade, age): self.name = name self.grade = grade self.age = age studi1 = Student('john', 'A', 15) studi2 = Student('dave', 'B', 10) studi3 = Student('jane', 'B', 12) student_Dict = {} student_Dict[studi1.name] = studi1 student_Dict[studi2.name] = studi2 student_Dict[studi3.name] = studi3 for key in (sorted(student_Dict, key=operator.attrgetter('age'))): print(key) ``` This gives me the error message: `AttributeError: 'str' object has no attribute 'age'`