title: How to make a list formed by changing some defaults in multiple ways
body: <p>I have a list of default dictionaries:</p>
  
  <pre><code>default = [{"One": 1, "Two": 2, "Three": 3}, {"One": 5, "Two": 6, "Three": 7},
  {"One": 9, "Two": 10, "Three" : 11}]
  </code></pre>
  
  <p>All with the same keys. I have a separate dictionary from key to list:</p>
  
  <pre><code>varying = {"One": [12,13,14,15], "Two": [20,21,23], "Three": [12,44]}
  </code></pre>
  
  <p>What I want to do is make a list of all dictionaries possible made by changing one of the values in one of the default dictionaries to one of the corresponding values in the varying dictionary. Here are examples of dictionaries in the final list:</p>
  
  <pre><code>{"One": 12, "Two": 2, "Three": 3}
  {"One": 13, "Two": 2, "Three": 3}
  {"One": 14, "Two": 6, "Three": 7}
  {"One": 15, "Two": 10, "Three": 11}
  {"One": 5, "Two": 20, "Three": 7}
  {"One": 9, "Two": 23, "Three": 11}
  {"One": 1, "Two": 2, "Three": 44}
  </code></pre>
  
  <p>So overall there are (4+3+2)*3=27 possibilities.
  I was able to get it near working but the problem is it got very messy. Is there any clean way to do this?</p>