title: python * operator, creating list with default value
body: <p>How do the following work?</p>
  
  <pre><code>&gt;&gt;&gt; 3*[2]
  &gt;&gt;&gt; [2,2,2]
  &gt;&gt;&gt; [2]*3
  &gt;&gt;&gt; [2,2,2]
  </code></pre>
  
  <p>I understand that <code>*</code> is the positional expansion operator. Since <code>[2]</code> is a list with a single item, I don't see how <code>3*[2]</code> expands to anything meaningful, I'd expect a <code>SyntaxError</code>, but that's not the case.</p>
  
  <p>I'm having a hard time searching for an existing answer, all I find are references to <code>*args</code> and <code>**kwargs</code> for passing variadic parameter lists, which don't quite answer my question.</p>