Python 数据合并:将多个字典数据源整合为一个
使用 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)
代码解释:
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 著作权归作者所有。请勿转载和采集!