Python 3.8.8:如何重组字典列表,将orgkey移入data字段
解决方案
你可以通过遍历原字典列表,对每个字典进行结构调整:提取orgkey字段放入data子字典,保留其余字段不变。以下是适配Python 3.8.8的实现代码:
list1 = [ { "orgkey":"1", "id" : "0", "parent" : "#", "text" : "A" }, { "orgkey":"2", "id" : "1", "parent" : "0", "text" : "B" }, { "orgkey":"3", "id" : "2", "parent" : "1", "text" : "C" }, ] # 列表推导式实现结构重组 list_result = [ { **{k: v for k, v in item.items() if k != "orgkey"}, "data": {"orgkey": item["orgkey"]} } for item in list1 ] # 打印结果验证 print(list_result)
代码说明
- 遍历原列表
list1中的每个字典item; - 用字典推导式生成去除
orgkey后的新字典,通过**解包操作将这些键值对并入新字典; - 添加
data键,其值为包含原orgkey的子字典; - 所有处理后的字典组成新列表
list_result。
如果偏好更直观的写法,也可以用普通循环实现,逻辑完全一致:
list_result = [] for item in list1: new_item = {} # 复制除orgkey外的所有键值对 for k, v in item.items(): if k != "orgkey": new_item[k] = v # 添加data字段 new_item["data"] = {"orgkey": item["orgkey"]} list_result.append(new_item)
内容的提问来源于stack exchange,提问作者pentjosh
相关产品推荐
相关产品推荐

