首页 > 解决方案 > 我想在 Python 中的对象列表中按属性查找对象的最小元素

问题描述

我想在 Python 的对象列表中找到对象的最小元素(按days属性),到目前为止我有这个代码:

from operator import attrgetter
    
lists = json.loads("[" + data + "]")
print(lists)
maintenance_cycle = min(lists,key=lambda r: r.days)
[{'type': 'runtime', 'days': 1}]
'dict' object has no attribute 'days'

标签: jsonpython-3.xobjectattributes

解决方案


访问字典键不像访问类方法

试试这个代码

maintenance_cycle = min(lists, key=lambda r: r['days'])

或者

maintenance_cycle = min(lists, key=lambda r: r.get('days'))

代替

maintenance_cycle = min(lists,key=lambda r: r.days)

并告诉我它是否不起作用...


推荐阅读