title: Problems in changing 2d array values after initializing but it works if I initialize it other way
body: <p>I've tried changing a single value in a simple 2d array after initializing it but instead, it changed the column. But the same thing is working if I do it the other way. Why is that?</p>
  
  <pre><code>&gt;&gt;&gt; arr=[[None]*4]*4
  &gt;&gt;&gt; arr
  [[None, None, None, None],
   [None, None, None, None],
   [None, None, None, None],
   [None, None, None, None]]
  
  # My problem
  &gt;&gt;&gt; arr[1][2]=0
  &gt;&gt;&gt; arr
  [[None, None, 0, None],
   [None, None, 0, None],
   [None, None, 0, None],
   [None, None, 0, None]]
  
  # But it works like this
  &gt;&gt;&gt; arr=[[None for _ in range(4)] for _ in range(4)]
  &gt;&gt;&gt; arr[1][2]=0
  &gt;&gt;&gt; arr
  [[None, None, None, None],
   [None, None, 0, None],
   [None, None, None, None],
   [None, None, None, None]]
  </code></pre>