title: How is Python3 list.copy() is shallow copy?
body: <p>My understanding for shallow copy is</p>
  
  <pre><code>a = [1,2,3]
  b = a
  a, b # ([1, 2, 3], [1, 2, 3])
  a[0] = 99
  a, b # ([99, 2, 3], [99, 2, 3])
  </code></pre>
  
  <p>However, Python 3 document says <strong>list.copy() Return a shallow copy of the list. Equivalent to a[:].</strong> But this seems like a deep copy to me. Why does the documentation call it shallow copy?</p>
  
  <pre><code>a = [1,2,3]
  b = a.copy()
  a, b # ([1, 2, 3], [1, 2, 3])
  a[0] = 99
  a, b # ([99, 2, 3], [1, 2, 3])
  </code></pre>