本文参考了点击打开链接的博客,来加深对于切片操作的理解
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]相同