下面是一个示例代码,演示了如何按内部字典键分组聚合值的字典列表。
from collections import defaultdict
# 示例字典列表
data = [
{'key1': 'A', 'key2': 'X', 'value': 1},
{'key1': 'B', 'key2': 'Y', 'value': 2},
{'key1': 'A', 'key2': 'Z', 'value': 3},
{'key1': 'B', 'key2': 'X', 'value': 4},
]
# 创建一个 defaultdict 作为结果字典
result = defaultdict(list)
# 遍历每个字典
for d in data:
# 提取键值
key1 = d['key1']
key2 = d['key2']
value = d['value']
# 根据 key1 分组,并将 value 添加到对应的列表中
result[key1].append(value)
# 如果需要同时按两个键分组,可以使用下面的代码
# result[(key1, key2)].append(value)
# 打印结果
for key, values in result.items():
print(key, values)
输出结果为:
A [1, 3]
B [2, 4]
这个示例中,使用了 defaultdict
来创建一个默认为空列表的字典。然后,遍历每个字典,提取需要分组的键值,并根据键值将对应的值添加到结果字典的列表中。最后,打印结果字典。
上一篇:按内部颜色筛选OpenCV轮廓
下一篇:按内容类型区分请求