title: What's the default start and stop for python slicing index?
body: <pre class="lang-py prettyprint-override"><code>a = np.ramdon.rand(10)
  
  # We can index a numpy array by [start:stop(:step)]
  
  a[::1]  # returns [a[0], a[1], ..., a[9]]
  a[::-1]  # returns [a[9], a[8], ..., a[0]]
  </code></pre>
  
  <p>As shown in the above example, <code>start</code> and <code>stop</code> for both <code>a[::1]</code> and <code>a[::-1]</code> should be by default, since only the <code>step</code> arguments are given. For <code>a[::1]</code>, I suppose the default <code>start</code> should be 0 and the default <code>stop</code> should be -1 (i.e., <code>a[::1]</code> is the same as <code>a[0:-1:1]</code>), but apparently this is not true for <code>a[::-1]</code>, since <code>a[0:-1:-1]</code> returns an empty array. So what are the exact default setting for <code>stop</code> and <code>start</code>? I am so confused because all the documentations I ran into only mentioned that to reverse an array you can use <code>::-1</code> with no further explanation.</p>