使用 Python 合并多个数据源

假设我们拥有以下四个数据源,每个数据源是一个字典,存储着人员姓名和其对应的公司列表:

数据源 1: {'张三': ['公司1', '公司2', '公司3'], '李四': ['公司1', '公司2']}

数据源 2: {'张三': ['公司4', '公司5'], '李四': ['公司6']}

数据源 3: {'张三': ['公司4', '公司6'], '李四': ['公司6', '公司7']}

数据源 4: {'李四': ['公司7', '公司8']}

我们的目标是将这四个数据源合并成一个字典,其中相同的键对应的值合并成一个列表。例如,张三在数据源 1、2、3 中都出现了,合并后的结果应该是:'张三': ['公司1', '公司2', '公司3', '公司4', '公司5', '公司6']。

**Python 代码实现:**pythondef merge_data(data_list): merged_data = {} for data in data_list: for key, value in data.items(): if key in merged_data: merged_data[key].extend(value) else: merged_data[key] = value return merged_data

data_list = [ {'张三': ['公司1', '公司2', '公司3'], '李四': ['公司1', '公司2']}, {'张三': ['公司4', '公司5'], '李四': ['公司6']}, {'张三': ['公司4', '公司6'], '李四': ['公司6', '公司7']}, {'李四': ['公司7', '公司8']}]

merged_data = merge_data(data_list)

for key, value in merged_data.items(): print(key, value)

代码解释:

  1. merge_data(data_list) 函数: - 接收一个包含多个字典的数据列表 data_list。 - 初始化一个空字典 merged_data 用于存储合并后的结果。 - 循环遍历 data_list 中的每个字典。 - 循环遍历每个字典的键值对。 - 如果键 key 已经存在于 merged_data 中,则将当前字典的 value 列表追加到 merged_data 中该键对应的列表的末尾。 - 否则,将 key 和 value 添加到 merged_data 中。2. data_list: 定义了包含四个数据源的列表。3. merged_data = merge_data(data_list): 调用 merge_data 函数并将 data_list 传递给它,并将返回的合并后的字典存储在 merged_data 中。4. for key, value in merged_data.items(): print(key, value): 循环遍历 merged_data 中的每个键值对,并打印键和值。

运行结果:

张三 ['公司1', '公司2', '公司3', '公司4', '公司5', '公司6']李四 ['公司1', '公司2', '公司6', '公司7', '公司8']

结论:

这段代码演示了如何使用 Python 语言将多个字典数据源合并成一个,并根据相同的键将对应值合并成一个列表。这在处理来自不同来源的数据时非常有用,可以帮助我们将分散的数据整合在一


原文地址: https://www.cveoy.top/t/topic/pldW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录