title: Ellipsis lists [...] and concatenating a list to itself
body: <p><strong>EDIT:</strong> I was careless in my original examples. The behaviour occurs not when I add list <code>A</code> to itself, but rather when I add a list <em>containing</em> list <code>A</code> to <code>A</code> itself. Please see the corrected examples below.</p>
  
  <hr>
  
  <p>I am trying to understand how ellipsis lists (those lists that appear as <code>[...]</code> and occur when you have a list references itself) works in Python 2.</p>
  
  <p>In particular, I want to know why, if <code>A</code> is a <code>list</code>, <code>A = A + A</code> seems to work differently to <code>A += A</code> (and <code>A.append(A)</code>).</p>
  
  <p>That is, why do you get:</p>
  
  <pre><code>&gt;&gt;&gt; a = [1, 2]  
  &gt;&gt;&gt; a = a + [a]
  &gt;&gt;&gt; a  
  [1, 2, [1, 2]]
  </code></pre>
  
  <p>vs. </p>
  
  <pre><code>&gt;&gt;&gt; a = [1, 2]  
  &gt;&gt;&gt; a += [a]
  &gt;&gt;&gt; a
  [1, 2, [...]]
  </code></pre>
  
  <p>(Note that <code>a.append(a)</code> seems to work for me just as the latter did.)</p>
  
  <p>Any additional more general information regarding this ellipsis list phenomenon would also be much appreciated if it helps to clarify things.</p>