本文參考了點擊打開鏈接的博客,來加深對於切片操作的理解
Python的切片可以理解爲L[開始:結束:步進],例如L[0:6:1]可以理解爲從序號0開始,步進爲1,直到6結束,和C++的循環一樣,數組的選擇規則是左閉右開,即[0,6),從0開始(包括0)到6結束(不包括6),開始,結束的默認值由步進的正負決定,當步進爲正值時,開始的默認值爲切片起點索引,也就是0,結束的默認值爲切片終點的索引;當步進爲負值時,開始的默認值爲切片終點的索引,開始的默認值爲切片起點的索引。步進的默認值爲1。切片的序號有正向序號和反向序號,切片的步進的正負決定了切片索引的前進方向。
每一個爲正值的索引都有一個對應的爲負值的索引,當我們的步進爲正值時,按照以下方向步進,此時L[0:2:1]和L[-4:-2::1]相同
當我們的步進爲負值時,按照以下方向步進,此時L[3:1:-1]和L[-1:-3::-1]相同