如何将合并后的字典值拆分回初始的两个Python字典?
问题:拆分合并后的字典回初始两个字典
我有两个初始字典:
d_1 = {'A':0, 'B':0, 'C':0} d_2 = {'A':60, 'B':30, 'C':10}
通过字典推导式将它们合并为一个新字典,每个键对应一个二元组,包含原两个字典的对应值:
d3 = {k: (d_1[k], d_2[k]) for k in d_1.keys()}
合并结果为:
{'A': (0, 60), 'B': (0, 30), 'C': (0, 10)}
现在需要执行反向操作,将这个合并后的字典拆分回最初的两个字典。
解决方案
可以使用字典推导式遍历合并后的字典d3,分别提取二元组的第一个和第二个元素来重建原字典:
# 重建d_1,取每个值元组的第一个元素 d_1 = {k: v[0] for k, v in d3.items()} # 重建d_2,取每个值元组的第二个元素 d_2 = {k: v[1] for k, v in d3.items()}
执行后得到的结果就是初始的两个字典:
d_1 = {'A':0, 'B':0, 'C':0} d_2 = {'A':60, 'B':30, 'C':10}
内容的提问来源于stack exchange,提问作者eeealesha
相关产品推荐
相关产品推荐

