python - 在python中使用条件解析json
问题描述
你能给我一些关于从 Python3 中的某些条件的字典列表中解析列表的建议吗?
从下面的 json 列表中,我想提取每个“id”的最大时间戳。
所以我想要的最终输出就像
[{
"id": 1,
"value": {
"val1": 400000000,
"val2": 750000000
},
"timestamp": 1600957822.2510917
},
{
"id": 2,
"value": {
"val1": 400000000,
"val2": 750000000
},
"timestamp": 1600958083.618805
}]
我有什么办法吗?提前致谢
[
{
"id": 1,
"value": {
"val1": 400000000,
"val2": 750000000
},
"timestamp": 1600957822.2510917
},
{
"id": 2,
"value": {
"val1": 400000000,
"val2": 750000000
},
"timestamp": 1600957857.3018847
},
{
"id": 2,
"value": {
"val1": 400000000,
"val2": 750000000
},
"timestamp": 1600958027.4114041
},
{
"id": 2,
"value": {
"val1": 400000000,
"val2": 750000000
},
"timestamp": 1600958083.618805
}]
解决方案
如果它是字典列表(如评论中所示),这是一种解析它并检索最终字典列表的方法:
result = {}
for obj in dict_list:
if obj['id'] in result:
if result[obj['id']]['timestamp'] < obj['timestamp']:
result[obj['id']]['timestamp'] = obj['timestamp']
else:
result[obj['id']] = obj
[x for x in result.values()]
推荐阅读
- php - 如何从 MySQLI 数据库中选择并显示活动用户的名称
- django - 无法导入模块“处理程序”:没有名为“werkzeug”的模块
- python - Disable QDial mouse clicks and change the needle
- sql - 将 GROUP BY 子查询嵌入到 GROUP BY 查询中
- visual-c++ - 如何在游戏c ++中读/写内存
- html - 如何为 data-src 设置自定义 CSS
- hadoop - 当一个节点在 Hadoop Cluster 中很慢?
- python - pymysql.err.Error:已经在 heroku 上的烧瓶中关闭
- javascript - 将道具传递给
或将隐藏数据传递给路由器但不使用参数 - c++ - 为什么我的成员变量在每次循环迭代结束时消失?