使用Python将含path、value字段的字典列表转换为映射字典
实现方案
方法1:字典推导式(最简写法)
这是效率最高、可读性最好的实现方式,仅需一行代码即可完成转换:
# 原始数据示例 raw_data = { "data": [ { "path": "messageType", "value": "position" }, { "path": "fcntup", "value": 2524 }, { "path": "status/error", "value": "" } ] } # 核心转换逻辑:直接生成目标字典 result = {item["path"]: item["value"] for item in raw_data["data"]}
如果需要和示例目标格式一样,把所有value统一转为字符串类型,修改为如下写法即可:
result = {item["path"]: str(item["value"]) for item in raw_data["data"]}
输出结果验证
打印result就能得到你需要的格式:
print(result) # 输出:{'messageType': 'position', 'fcntup': '2524', 'status/error': ''}
注意事项
- 时间复杂度为O(n),n为列表长度,仅遍历一次即可完成转换,执行效率高
- 如果列表中存在重复的
path值,后出现的条目会自动覆盖先出现的条目,符合字典键唯一的特性
内容的提问来源于stack exchange,提问作者Reco Jhonatan
相关产品推荐
相关产品推荐

