Python extended slicing confused
<p>So I understand that Python has extended slicing which will grab substring with [start:end:step], with default values for start and end.</p>

<p>So for example:</p>

<pre><code>L = range(6)
&gt;&gt;&gt;L[::2]
[0, 2, 4, 6]
</code></pre>

<p>Okay makes sense... no value for start so it defaults to 0, then increments by 2.</p>

<pre><code>&gt;&gt;&gt;L[::-1]
[6, 4, 2, 0]
</code></pre>

<p>Now this is where i'm really confused. No value for start so it should be 0, but it starts at back of list... ??  Shouldn't it be [0, 6, 4, 2]? Why does step = -1 give special behavior for starting at back of list?</p>
