title: python- How does list([0,0]) differ from [0,0]?
body: <p>I ran into a problem as described in this <a href="https://stackoverflow.com/questions/15516413/dict-fromkeys-all-point-to-same-list">link</a>. While using the dict comprehension I typed</p>
  
  <pre><code>keys = [x for x in range(21)]
  value = [0,0]
  dict1 = {key: value for key in keys}
  </code></pre>
  
  <p>instead of:</p>
  
  <pre><code>keys = [x for x in range(21)]
  value = [0,0]
  dict1 = {key: list(value) for key in keys}
  </code></pre>
  
  <p>In the former case, the problem remains. All the key values point to the same list. Why does this happen? In essence, what I don't understand is how does list([0,0]) not create a list as [[0,0]]?</p>
  
  <p>EDIT: I understand that list(arg) takes only 1 argument. But what does it mean to run list over a list?</p>