我想在 Python 中的对象列表中按属性查找对象的最小元素
I want find min element of object by attribute in a list of objects in 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'
访问字典键不同于访问 class 方法
试试这个代码
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)
如果它不起作用请告诉我...
我想在 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'
访问字典键不同于访问 class 方法
试试这个代码
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)
如果它不起作用请告诉我...