json - 我想在 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'
解决方案
访问字典键不像访问类方法
试试这个代码
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)
并告诉我它是否不起作用...
推荐阅读
- javascript - Why can't you swap the arrays of a 2D array by reference?
- mysql - 加密已经在 mysql 表中的数据
- cplex - Word generation in Cplex
- jquery - AngularJS ng-submit 在移动设备上不起作用
- amazon-web-services - 在 CentOS7 中 - 没有可用的软件包 aws-cfn-bootstrap
- javascript - 直接将数组作为参数传递时,数组对象属性为空
- angular - Angular : ngFor items and append a char for all items except the last item
- html - Bootstrap 4 Navbar Flex 打破品牌中心
- javascript - 使用 jest 测试嵌套异步函数
- python - opencv4nodejs如何计算拉普拉斯方差的模糊度