title: 2D list has weird behavor when trying to modify a single value
body: <blockquote>
    <p><strong>Possible Duplicate:</strong><br>
    <a href="https://stackoverflow.com/questions/240178/unexpected-feature-in-a-python-list-of-lists">Unexpected feature in a Python list of lists</a>  </p>
  </blockquote>
  
  
  
  <p>So I am relatively new to Python and I am having trouble working with 2D Lists.</p>
  
  <p>Here's my code:</p>
  
  <pre><code>data = [[None]*5]*5
  data[0][0] = 'Cell A1'
  print data
  </code></pre>
  
  <p>and here is the output (formatted for readability):</p>
  
  <pre><code>[['Cell A1', None, None, None, None],
   ['Cell A1', None, None, None, None],
   ['Cell A1', None, None, None, None],
   ['Cell A1', None, None, None, None],
   ['Cell A1', None, None, None, None]]
  </code></pre>
  
  <p>Why does every row get assigned the value?</p>