You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python展平字典列表时因缺value键触发KeyError如何解决

解决方案

方法1:使用字典get()方法(最简洁)

直接修改你原来的字典推导式,用字典内置的get()方法获取value值,不存在时直接返回默认值None即可:

my_dict = {x['path']: x.get('value', None) for x in message['data']}

dict.get(key, default)的逻辑是:目标键存在时返回对应值,键不存在时返回你指定的default值,全程不会触发KeyError异常。


方法2:try-except 实现(适合需要额外异常处理的场景)

如果你之前尝试的try-catch逻辑没有成功,可以参考如下标准写法:

my_dict = {}
for item in message['data']:
    path_key = item['path']
    try:
        value = item['value']
    except KeyError:
        value = None
    my_dict[path_key] = value

输出带null的最终格式

Python中的None对应JSON格式的null,如果需要得到你示例中带null的结果,直接用json模块序列化即可:

import json
final_result = json.dumps(my_dict)
# 输出结果:{"messageType": "position", "fcntup": 3320, "deviceType": null, "uplinkId": null}

内容的提问来源于stack exchange,提问作者Reco Jhonatan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 18:54:02