title: Python dictionary creation syntax
body: <p>I'm wondering if there's any way to populate a dictionary such that you have multiple keys mapping to the same value that's less verbose than say:</p>
  
  <pre><code>d = {1:'yes', 2:'yes', 3:'yes', 4:'no'}
  </code></pre>
  
  <p>I'm thinking something along the lines of:</p>
  
  <pre><code>d = {*(1,2,3):'yes', 4:'no'}
  </code></pre>
  
  <p>which is obviously a syntax error.</p>
  
  <p>Is there a reasonably simple method of doing this without TOO much obfuscation? (I'm not playing code golf, but I also don't need to write essentially the same thing over and over. However, any code-golf related answers would be appreciated as well since code-golf is awesome =]).</p>
  
  <p><strong>Edit</strong>:</p>
  
  <p>I probably picked a bad example. This is what I'm trying to do:</p>
  
  <pre><code>d = {*('READY', 95): 'GPLR2_95', 'CHARGING': 'GPLR3_99', 'PROTECTION': 'GPLR3_100', 'CONNECTED': 'GPLR3_101', 'ERROR':'GPLR3_102'}
  </code></pre>
  
  <p>What I would expect this to expand to is:</p>
  
  <pre><code>d = {'READY':'GPLR2_95', 95: 'GPLR2_95', ...}
  </code></pre>
  
  <p><strong>Edit->Edit</strong>:</p>
  
  <p>I know this is stupid and totally unnecessary, but my goal is to make this declaration on a single line. This obviously shouldn't limit any responses and writing code just because it fits on 1 line is stupid. But I'm writing a module level constant dict that would be nice if it was a single liner.</p>