title: Replace placeholder in nested dict with values of mapping dict
body: <p>I have a nested dict, which can contain placeholders in both keys and values.</p>
  
  <pre><code>example_dict = {'dict1': {'%(map3)s': {'data': 'tmp'},
                                   '%(map2)s': {'freshdata': 'testtest'}},
               'dict2': {'%(map3)s': {'data': '%(map1)s'}, '%(map3)s': {'status': 'available'}}}
  </code></pre>
  
  <p>I have a mapping dict, with the placeholder mapping:</p>
  
  <pre><code>mapping_dict= {
      "map1": [1,2,2],
      "map2": "qwerz",
      "map3": "asdfasdf"
  }
  </code></pre>
  
  <p>If the placeholder is at a VALUE position, it can also happen that the corresponding mapping of the mapping_dict contains another datatype than a string as value, e.g. list or an int. How can I pass this datatype to the original dict? I don't know howto make a placeholder e.g. for a list.</p>
  
  <p><strong>Info</strong>: It can happen that the mapping_dict contains more keys than the given example_dict contains.</p>
  
  <p>I would like to have a function which replaces the placeholders of a given dict with the values of the mapping_dict.</p>
  
  <p>What would be a good recursive implementation for this?</p>