title: Permutations of dictionary in python
body: <p>I have a dictionary like this - </p>
  
  <pre><code>{'A': 0, 'B': 0, 'C': 0, 'D': 4}
  </code></pre>
  
  <p>I want to generate a list like this - </p>
  
  <pre><code>[{'A': 1, 'B': 0, 'C': 0, 'D': 4},
   {'A': 0, 'B': 1, 'C': 0, 'D': 4},
   {'A': 0, 'B': 0, 'C': 1, 'D': 4},
   {'A': 0, 'B': 0, 'C': 0, 'D': 5}]
  </code></pre>
  
  <p>What is the most pythonic way to do this?</p>