Como ordenar dicionários de objetos por valor de atributo em python?
Eu gostaria de fazer uma iteração sobre um dicionário de objetos de uma maneira classificada como atributo
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)
Isso me dá a mensagem eror: "AttributeError: 'str' objeto não tem atributo 'age'"