python的slice与.indice

2023-01-31 05:01:02 python slice indice

程序

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引用。

相关文章