多字典合并:相同a键值一致时将对应b键值合并为列表的实现方法
实现思路
通过临时映射字典按a的取值分组,再转换为目标格式即可,以下是Python实现代码:
# 输入字典列表 dict_list = [ {"a": 1, "b": 2}, {"a": 1, "b": 3}, {"a": 2, "b": 2} ] # 按a值分组存储b值 group_map = {} for d in dict_list: a_key = d["a"] b_val = d["b"] if a_key not in group_map: group_map[a_key] = b_val else: # 首次遇到重复a值时,将原有b值转为列表 if not isinstance(group_map[a_key], list): group_map[a_key] = [group_map[a_key]] group_map[a_key].append(b_val) # 转换为目标输出格式 result = [{"a": k, "b": v} for k, v in group_map.items()] print(result)
运行结果
[{'a': 1, 'b': [2, 3]}, {'a': 2, 'b': 2}]
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

