title: Why is a[:]=1 fundamentally different to a[:]='1'?
body: <p>Please consider the two snippets of code (notice the distinction between string and integer):</p>
  
  <pre><code>a = []
  a[:] = '1'
  </code></pre>
  
  <p>and</p>
  
  <pre><code>a = []
  a[:] = 1
  </code></pre>
  
  <p>In the first case <code>a</code> is <code>['1']</code>. In the second, I get the error <code>TypeError: can only assign an iterable</code>. Why would using <code>'1'</code> over <code>1</code> be fundamentally different here?</p>