微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何按属性值对对象的字典排序?

for student in (sorted(student_Dict.values(), key=operator.attrgetter('age'))):
    print(student.name)

解决方法

我想以属性排序的方式遍历对象字典

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',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'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。