title: How to avoid inconsistent s[i:-j] slicing behaviour when j is sometimes 0?
body: <p>I am creating a number of slices <code>[-WINDOW-i:-i]</code> of a list, where <code>i</code> ranges between <code>32</code> and <code>0</code>:</p>
  
  <pre><code>vals = []
  
  for i in range(32, -1, -1):
      vals.append(other_list[-WINDOW-i:-i])
  </code></pre>
  
  <p>When <code>i == 0</code>, this returns a slice of length 0:</p>
  
  <pre><code>other_list[-WINDOW-0:0]
  </code></pre>
  
  <p>I don't want to have to do this to solve it:</p>
  
  <pre><code>vals = []
  
  for i in range(32, -1, -1):
      if i == 0:
         vals.append(other_list[-WINDOW:])
      else:
         vals.append(other_list[-WINDOW-i:-i])
  </code></pre>
  
  <p>… because if I have many lists to append to <code>vals</code>, it gets messy.</p>
  
  <p>Is there a clean way to do this?</p>