title: Why does Python return negative list indexes?
body: <p>If I have this list with 10 elements:</p>
  
  <pre><code>&gt;&gt;&gt; l = [1,2,3,4,5,6,7,8,9,0]
  </code></pre>
  
  <p>Why will l[10] return an IndexError, but l[-1] returns 0?</p>
  
  <pre><code>&gt;&gt;&gt; l[10]
  Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
  IndexError: list index out of range
  &gt;&gt;&gt; l[0]
  1
  &gt;&gt;&gt; l[-1]
  0
  &gt;&gt;&gt; l[-2]
  9
  </code></pre>
  
  <p>What I want to do is throw an error if there are no previous elements in the list.</p>