title: Python assignment operator differs from non assignment
body: <p>I have face this weird behavior I can not find explications about.</p>
  
  <p>MWE:</p>
  
  <pre><code>l = [1]
  l += {'a': 2}
  l
  [1, 'a']
  l + {'B': 3}
  Traceback (most recent call last):
    File "&lt;input&gt;", line 1, in &lt;module&gt;
  TypeError: can only concatenate list (not "dict") to list
  </code></pre>
  
  <p>Basically, when I <code>+=</code> python does not raise an error and append the key to the list while when I only compute the <code>+</code> I get the expected <code>TypeError</code>.</p>
  
  <p>Note: this is Python 3.6.10</p>