我认为文档对此可能有点误导,但是切片的可选参数(如果省略)与使用相同
None:
>>> a = "hello">>> a[::-1]'olleh'>>> a[None:None:-1]'olleh'
您可以看到上述两个切片与CPython字节码相同:
>>> import dis>>> dis.dis('a[::-1]') # or dis.dis('a[None:None:-1]') 10 LOAD_NAME 0 (a) 3 LOAD_ConST 0 (None) 6 LOAD_ConST 0 (None) 9 LOAD_ConST 2 (-1) 12 BUILD_SLICE 3 15 BINARY_SUBSCR 16 RETURN_VALUE对于负
step,对于取代的值
None是
len(a) - 1为
start和
-len(a) - 1为
end:
>>> a[len(a)-1:-len(a)-1:-1]'olleh'>>> a[4:-6:-1]'olleh'>>> a[-1:-6:-1]'olleh'
这可以帮助您可视化它:
h e l l o 0 1 2 3 4 5-6 -5 -4 -3 -2 -1


![如何通过切片符号a [::-1]解释序列的逆向 如何通过切片符号a [::-1]解释序列的逆向](http://www.mshxw.com/aiimages/31/610461.png)
