在切片操作中,“start:stop:step”,如果省略 start,则默认为 0,表示从序列的开头(第一个元素)开始切片;如果省略 stop,则默认为序列的长度,表示切片一直到序列的结尾(最后一个元素);如果省略 step,则默认为 1,表示每隔一个元素切片一次。
对于“[:: -1]”这个切片操作,其中两个冒号都省略了起始位置和终止位置,因此表示从序列的最开始到最末端(即默认值),步长为 -1,也就是反向遍历每个元素。而默认步长是 1,而不是 -1,所以需要显式地指定步长为 -1 才能得到序列的逆序。
例如:
a = [1, 2, 3, 4, 5] b = a[::-1] print(b) #输出结果:[5, 4, 3, 2, 1]
上面代码实现了将列表逆序的功能。初值中的 a 是 [1, 2, 3, 4, 5],a[::-1] 的意思是从最开始的元素(即下标0)到最后一个元素(即使用默认的停止位置)反向步进一个(也就是使用步长-1)输出,这样就得到了逆序后的列表 [5, 4, 3, 2, 1]。