程序
l=range(100) s=slice(10,20) print(s,l[s],s.indices(100),s.indices(15)) s1=slice(10) print(s1,l[s1],s1.indices(100),s1.indices(15)) s2=slice(10,20,5) print(s2,l[s2],s2.indices(100),s2.indices(15))
输出
slice(10, 20, None) range(10, 20) (10, 20,1) (10, 15, 1)
slice(None, 10, None) range(0, 10) (0, 10,1) (0, 10, 1)
slice(10, 20, 5) range(10, 20, 5) (10, 20,5) (10, 15, 5)
slice([start,]stop[,step])直接做对象的index时就相当于range(start,stop,step)。当start在slice中缺省时,range中start=0。
.indices(a)相当于是建造一个0到a的矩阵,在把slice()当做index引用。