title: Numpy: views vs copy by slicing
body: <p>When I am doing the slicing, an unexpected thing happened that seems the first to be view but the second is copy.  </p>
  
  <h3>First</h3>
  
  <p>First slice of row, then slice of column. It seems is a view.</p>
  
  <pre><code>&gt;&gt;&gt; a = np.arange(12).reshape(3, 4)   
  &gt;&gt;&gt; a[0:3:2, :][:, [0, 2]] = 100
  &gt;&gt;&gt; a
  array([[100,   1, 100,   3],
         [  4,   5,   6,   7],
         [100,   9, 100,  11]])
  </code></pre>
  
  <h3>Second</h3>
  
  <p>But if I first slice of column, then slice of row, it seems a copy:  </p>
  
  <pre><code>&gt;&gt;&gt; a[:, [0, 2]][0:3:2, :] = 0
  &gt;&gt;&gt; a
  array([[100,   1, 100,   3],
         [  4,   5,   6,   7],
         [100,   9, 100,  11]])
  </code></pre>
  
  <p>I am confused because the two methods finally will cause seem position to change, but why the second actually doesn't change the number?</p>