python中[::-1]详解

for value in range(5)[::-1]

    print(value)#其会输出4 3 2 1 0

详解:

a=[1,2,3,4,5,6,7,8,9]

b=a[i:j]表示复制a[i]到a[j-1],以生成新的list

比如b=a[1:4],那么b=[2,3,4]

当i缺省时默认是从0开始的,eg:b=a[:4],就相当于b=a[0:4],此时b=[1,2,3,4]

当j缺省时默认为len(arrlist),eg:b=a[1:],就像当于b=a[1:9],此时b=[2,3,4,5,6,7,8,9]

当i,j都缺省时,相当于直接复制一份a,eg:b=a[:],就相当于b=a[0:9],此时b=[1,2,3,4,5,6,7,8,9]

对于b=a[i:j:s]这种格式,i和j和上述含义是一样的,s表示步长,缺省时为1

所以对于b=a[i:j:1]这种定义方式,其实和b=a[i:j]是一样的

当s<0时,i缺省时表示-1,代表list的最后一个元素,j缺省时代表-len(arrlist)-1,eg:b=a[::-1]就相当于b=a[-1:-len(a)-1:-1],也就是从最后一个元素到第一个元素复制一遍