test1 = {'integer_set': '{#integer_list#?}', 'integer_list':
    '#integer_range#(?,#integer_range#)*', 'integer_range':
    '#integer#(..#integer#)?', 'integer': '[+-]?\\d+'}
test2 = {'b': '#a#', 'f': '#e#', 'c': '#b#', 'e': '#d#', 'd': '#c#', 'g':
    '#f#', 'a': 'correct'}

def change(d):
    new_d = d.copy()
for k in list(d.keys()):
    for nk, v in list(new_d.items()):
        if k in v:
            new_d[nk] = v.replace('#{}#'.format(k), '({})'.format(new_d[k]))
return new_d
test1 = change(test1)
test2 = change(test2)
Как сделать замену в python dict?