title: Append item to a specified list in a list of lists (Python)
body: <p>I'm practicing my progamming skills by solving problems from project euler at the moment, and now I've come across some (in my opinion) strange behavior on Python.</p>
  
  <p>When I do:</p>
  
  <pre><code>list = [[1]]*20
  </code></pre>
  
  <p>I get a list of 20 lists containing element 1, as expected. However, when I would like to append a 2 to the third element from this list, I would do that as follows:</p>
  
  <pre><code>list[3].append(2)
  </code></pre>
  
  <p>This however changes ALL the elements in the list. Even when I take a detour, like:</p>
  
  <pre><code>l = list[3]
  l.append(2)
  list[3] = l
  </code></pre>
  
  <p>All my elements get changed. Can anyone please tell me how to do this and get an output like so:</p>
  
  <pre><code>[[1], [1], [1], [1, 2], [1] .... [1]]
  </code></pre>
  
  <p>Thanks in advance.</p>