title: Alias for long list name and modification
body: <p>I have a <strong>nested data structure</strong> (e.g. mydict[names[num]]) which is <strong>difficult to read in code</strong>. Hence I would like to create a <strong>proxy (alias)</strong> and use it to modify this structure.</p>
  <pre><code>long_name = [1,2,3]
  short = long_name
  assert id(long_name) == id(short)
  
  short.append(4)
  assert id(long_name) == id(short)
  
  short = [n**2 for n in short]
  assert id(long_name) == id(short)  # AssertionError
  </code></pre>
  <p>Given the <strong>AssertionError on id(a) = id(b)</strong>, do I understand correctly python separates short and long_name during comprehension and allocates <strong>separate memory?</strong></p>
  <p>In practice, my structure contains millions of long strings, so takes up a lot of space (memory), hence this concern.</p>