first = {
"a": {"name": "A", "param": 1},
"b": {"name": "B", "param": 2}
}
second = {
"A": {"additional": "asd"},
"B": {"additional": "dsa"}
}
combined = []
for key, value in first.iteritems():
new = {
"name": value["name"],
"param": value["param"],
"additional": second[value["name"]]["additional"],
"key": key
}
combined.append(new)
print combined
# output: [{'key': 'a', 'name': 'A', 'param': 1, 'additional': 'asd'}, {'key': 'b', 'name': 'B', 'param': 2, 'additional': 'dsa'}]