如何按属性值对对象的字典进行排序?

2024-04-03

我想以属性排序的方式迭代对象字典

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)

这给了我错误消息:AttributeError: 'str' object has no attribute 'age'


for student in (sorted(student_Dict.values(), key=operator.attrgetter('age'))):
    print(student.name)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何按属性值对对象的字典进行排序? 的相关文章

随机推荐