Python切片 slice() 对切片赋值、嫁接、修改

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]

你可能感兴趣的:(流畅的Python读书笔记)