我有一个字典列表,如下所示
description = [{"category": "emergency", "meds": [{"drug": "mild", "env": "cold"}]},
{"category": "normal", "meds": [{"drug": "slow", "env": "normal"}]},
{"category": "emergency", "meds": [{"drug": "severe", "env": "hot"}]},
{"category": "medium", "meds": [{"drug": "drowsy", "env": "normal"}]},
{"category": "normal", "meds": [{"drug": "mild", "env": "normal"}]}]
如您所见,对于类别键,emergency
和normal
出现两次。现在我想要的是将这两个键的值合并为一个,如下所示
description_collapsed = [{"category": "emergency", "meds": [{"drug": "mild", "env": "cold"}, {"drug": "severe", "env": "hot"}]},
{"category": "normal", "meds": [{"drug": "slow", "env": "normal"}, {"drug": "mild", "env": "normal"}]},
{"category": "medium", "meds": [{"drug": "drowsy", "env": "normal"}]}]
我试过这样做
description_collapsed = {}
for i in description:
if description_collapsed.get(i["category"]):
description_collapsed.get(i["meds"].extend(i["meds"]))
else:
description_collapsed[i["category"]] = i["meds"]
但我只为每个类别的meds键找到了一本字典
如何获得所需的输出
i['meds']
不是description_collapses
的键。规则是description_collapsed.get(i["category"])
的值,因此需要扩展该值你的括号也错了
请注意,您的最终结果将是一本词典,而不是一个列表
相关问题 更多 >
编程相关推荐