如何在这个简单的示例中,如何将两个表索引词典中的项目一起添加?
table1 = {'item1': {'quantity': 3, 'value': 3.0}, \
'item2': {'quantity': 10, 'value': 30} \
}
table2 = {'item1': {'quantity': 5, 'value': 5.0}, \
'item3': {'quantity': 7, 'value': 10.5} \
}
newDic = {'item1': {'quantity': 8, 'value': 8.0}, \
'item2': {'quantity': 10, 'value': 30}, \
'item3': {'quantity': 7, 'value': 10.5} \
}
我有一个函数可以将平面文件的内容解析并过滤到字典中。我想重新设计脚本来解析多个文件。每个表都具有完全相同的列标题。行具有相同的项目,具有不同的值,但某些文件具有其他项目。
答案 0 :(得分:1)
您可以将table2
添加到table1
table1 = {'item1': {'quantity': 3, 'value': 3.0}, \
'item2': {'quantity': 10, 'value': 30} \
}
table2 = {'item1': {'quantity': 5, 'value': 5.0}, \
'item3': {'quantity': 7, 'value': 10.5} \
}
for key, val in table2.items():
if key not in table1:
table1[key] = val
else:
for k, v in val.items():
if k not in table1[key]:
table1[key][k] = v
else:
table1[key][k] += v
print table1
{
'item2': {'value': 30, 'quantity': 10},
'item3': {'value': 10.5, 'quantity': 7},
'item1': {'value': 8.0, 'quantity': 8}
}