扩展切片语法实际上对负向步骤做什么?
这个问题在这里已经有了答案:
  [-1:0:-1]表示:从索引len(string)-1 ,向上移动到0 (不包括),并采用-1 (反向)的步长。 
所以,下面的索引被获取:
le-1, le-1-1, le-1-1-1  .... 1  # le is len(string)
例:
In [24]: strs = 'foobar'
In [25]: le = len(strs)
In [26]: strs[-1:0:-1]  # the first -1 is equivalent to len(strs)-1
Out[26]: 'raboo'
In [27]: strs[le-1:0:-1]   
Out[27]: 'raboo'
  Python文档(这里是技术文档;对range()的解释更容易理解)比简单的“每第k个元素”解释更正确。  切片参数适当地命名 
slice[start:stop:step]
  所以切片从开始定义的位置start ,在到达位置停止之前stop ,并且通过step项目从一个位置移动到下一个位置。 
上一篇: What does extended slice syntax actually do for negative steps?
