【发布时间】:2015-06-24 05:16:59
【问题描述】:
我有两个字典,都有一个嵌套字典,我想将它们合并到一个更大的字典中。两个字典中有些键不同,有些是相同的。那些不同的,我只是想复制到新的更大的字典中。相同的,我想保持字典和嵌套字典中的键相同,并添加嵌套字典中的值。
样本数据:
dict1 = {'C-STD-B&M-L':
{datetime.date(2015, 4, 30): 0.06875104,
datetime.date(2015, 5, 1): 0.07842368,
datetime.date(2015, 5, 2): 0.08919679999999999,
datetime.date(2015, 5, 16): 0.40798848},
'G-CAM-MAS-XXS':
{datetime.date(2015, 4, 30): 0.0008190299999999999,
datetime.date(2015, 5, 1): 0.00093426,
datetime.date(2015, 5, 2): 0.0010626}
dict2 = {'C-STD-B&M-L':
{datetime.date(2015, 5, 16): 0.075968,
datetime.date(2015, 5, 17): 0.086656},
'H-QLD-BAC-STD':
{datetime.date(2015, 5, 16): 0.17804999999999999,
datetime.date(2015, 5, 17): 0.2031,
datetime.date(2015, 5, 18): 0.23099999999999998}
预期输出:
new_dict =
{'C-STD-B&M-L':
{datetime.date(2015, 4, 30): 0.06875104,
datetime.date(2015, 5, 1): 0.07842368,
datetime.date(2015, 5, 2): 0.08919679999999999,
datetime.date(2015, 5, 16): 0.40798848 + 0.075968
datetime.date(2015, 5, 17): 0.086656},
'G-CAM-MAS-XXS':
{datetime.date(2015, 4, 30): 0.0008190299999999999,
datetime.date(2015, 5, 1): 0.00093426,
datetime.date(2015, 5, 2): 0.0010626
'H-QLD-BAC-STD':
{datetime.date(2015, 5, 16): 0.17804999999999999,
datetime.date(2015, 5, 17): 0.2031,
datetime.date(2015, 5, 18): 0.23099999999999998}
我将值作为总和 (0.40798848 + 0.075968) 发布只是为了澄清,我实际上需要总和 (0.48395648)。
我试图做一些 for 循环来添加它们,但它们真的很乱,我会为了它而发布。
示例代码:
all_unis_dict = {}
for skus1, subdict1 in unsw_mid_year_dict.items():
for skus2, subdict2 in unsw_mid_year_dict.items():
for dates1, days1 in subdict1.items():
for dates2, days2 in subdict2.items():
pprint(days1 + days2)
有人知道一种优雅的方法吗?
【问题讨论】:
标签: python dictionary