title: Double iteration doesn't generate error for dict?
body: <p>This is a newbie question.</p>
  
  <pre><code>[(i,j) for i in range(3) for j in range(3)]
  </code></pre>
  
  <p>returns</p>
  
  <pre><code>[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
  </code></pre>
  
  <p>However, why</p>
  
  <pre><code>{i: j for i in range(3) for j in range(3)}
  </code></pre>
  
  <p>returns</p>
  
  <pre><code>{0: 2, 1: 2, 2: 2}
  </code></pre>
  
  <p>But it's supposed to generate the following invalid dict</p>
  
  <pre><code>{0: 0, 0: 1, 0: 2, 1: 0, 1: 1, 1: 2, 2: 0, 2: 1, 2: 2}
  </code></pre>