seq[start:stop:step] 通常最后一个step是省略的默认为0。在start和stop之间以step为间隔取值
python会调用seq.__getitme__(slice(start,stop,step))
s = 'bicycle'
切片s[::3] 结果:bye 这里注意是间隔,所以要从索引0的b开始,依次往后三个数
切片s[::-2] 结果:eccb step负数倒着数,不要忘记从索引0开始
slice()方法
对序列类型使用slice() 放到[]中
price = slice(0, 6)
string = '12.00 鸡肉价格'
print(string[price])
结果:12.00
对切片赋值、嫁接、修改
如果把切片放到赋值语句的左边,或者作为del 操作的对象,就可以实现嫁接,切除,修改等操作。
l = list(range(10))
l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
l[2:5] = [20,30]
l
[0, 1, 20, 30, 5, 6, 7, 8, 9]
del l[5:7]
l
[0, 1, 20, 30, 5, 8, 9]
l[3::2] = [11,22]
l
[0, 1, 20, 11, 5, 22, 9]