I trying to merge 2 dictionaries which have the ability to create nested dictionaries and had an incorrect result.
Code example.  
def merge_two_dicts(x, y):
    z = x.copy()
    z.update(y)
    return z
def create_dict(l, val):
    d = {}
    for a in reversed(l):
        if d == {}:
            d = {a: val}
        else:
            d = {a: d}
    return d
test = "a.b.t.q"
test2 = "a.b.t.w"
list1 = test.split(".")
list2 = test2.split(".")
val1 = "test"
val2 = "test2"
dict1 = create_dict(list1, val1)
dict2 = create_dict(list2, val2)
merged_dict = merge_two_dicts(dict1, dict2)
print "Dict #1"
print dict1
print "========================"
print "Dict #2"
print dict2
print "========================"
print "Merged dict"
print merged_dict
And the actual result is.
Dict #1
{'a': {'b': {'t': {'q': 'test'}}}}
========================
Dict #2
{'a': {'b': {'t': {'w': 'test2'}}}}
========================
Merged dict
{'a': {'b': {'t': {'w': 'test2'}}}}
Expected:
{'a': {'b': {'t': {'q': 'test', 'w': 'test2'}}}}
How can I merge dictionaries like with without losing some items?
