python切片

切片:list变量[值下标:结束值下标]  什么意思呢?

就是获取 list中 下标从定义的位置开始获取数据到  自定义的下标位置结束, 但是切片有个规矩就是顾头不顾尾,

举个例子

kl = ["OPPO","VIVO","IPHONE","LEVOVO"]
print(kl[0:1])

结果:['OPPO']

如果我取list里面的OPPO,VIVO 那就得结束下标多+1 : 说白了就是切片的时候顾头不顾尾 从填写的下标开始取值, 到结束的下标, 但是结束的下标即使填写了也不会取到,只会取到结束下标前面的值

kl = ["OPPO","VIVO","IPHONE","LEVOVO"]
print(kl[0:2])

结果:['OPPO', 'VIVO']

如果我从 下标1 开始取后面的全部值

kl = ["OPPO","VIVO","IPHONE","LEVOVO"]
print(kl[0:])

结果:['OPPO', 'VIVO', 'IPHONE', 'LEVOVO']

从起始位置下标开始取到最后全部的值,下标*:不填写

如果我想从list中的倒数第二个数据开始取值, 取到最后面的全部的值

kl = ["OPPO","VIVO","IPHONE","LEVOVO"]
print(kl[-2:])

结果:['IPHONE', 'LEVOVO']

因为 -号代表 倒数第几个下标, 从倒数第二个开始取:取全部, 切片是从左往右取值的

我还可以这样:

kl = ["OPPO","VIVO","IPHONE","LEVOVO"]
print(kl[:])

结果:['OPPO', 'VIVO', 'IPHONE', 'LEVOVO']

因为:开始切片下标不填代表从0开始去全部的值,结束不填写, 也是取全部的值

接下来就是切片步长

这个步长和range(0,10,2) 的步长是一样的

代码:

kl = ["OPPO","VIVO","IPHONE","LEVOVO"]
print(kl[1::2])

结果:['VIVO', 'LEVOVO']

因为:从下标1的数据开始取值,取后面全部的值, 并且取值的时候设置了步长,取值的时候跳着取,跳2个下标

可以这样理解:开始的时候下标是1 设置的步长是2 那么就是, 去下标是1 的数据, 还会去 1+步长(2) =3 那么会取下标是3 的数据,再往后就是结果3+步长(2)=5,系统会取下标是5 的数据, 在往后的话就是结果5+步长(2) =7 系统就会取下标是7的数据

05-11 18:34