Python 字符串详解之切片

这章我们学习一个新的字符串操作,切片。

切片其实是索引的拓展应用,索引是取字符串中的某一个字符,而切片顾名思义,就是根据索引把字符串中的一段字符给切下来。生成一个新的字符串。

虽然说是切下来,但其实就是复制,不是剪切出来。所以原有的字符串并不会发生改变。

我还是用上章的好好学习,天天向上。的字符串操作切片。我要复制good。

info = 'good good study day day up'
print(info[0:4])

为什么会是4号索引,因为这里有个顾头不顾尾原则,和我们前面学range是一样的。我们继续打印info,看看它整体有没有变化。

一点变化都没有,所以切片只是复制!把复制出来的字符串,放到了新的内存空间里。

切片也能用负数,和前面讲的反向索引取值一样。我要取后面的day up。

print(info[-6:-1])

但是这里没有取到最后一个字符p,因为顾头不顾尾!

还是上面的代码,我把4去掉,这就代表从0开始,后面全部取完。

print(info[0:])

我把0去掉,就剩下4,代表4前面的全部取到。

print(info[:4])

如果你冒号两边什么都不写,那就是字符串全部取到。

print(info[:])

切片还有一个操作,就是指定步长,和前面range是一样的,但是用法不一样。range括号里面是逗号,但是切片是冒号。

print(info[0:20:3])

这个意思就是从0开始,每次取值都是加3步,最后取到第20号,但是第20号是d,所以取不到。

我用表格给显示,就清楚了。

然后我们再来打印,看看是不是我们分析的那样。

步长讲完之后,还有一个叫反向步长。

还是刚才的0:4,我在后面加上一个-1。

print(info[0:4:-1])

什么都打印不出来,这是因为这行代码是从0到4,也就是从左往右取,但是步长-1与偶表示从右往左,这就和你往前走四步,然后脚往后迈一样。不可能做到的。

所以要把0和4互相交换位置,不过要注意的是从右往左,4是空格,又是顾头不顾尾,所以第一个g取不到。所以结果就是空格doo,我们打印一下,看看是不是我们分析的结果。

print(info[4:0:-1])

结果和我们分析的一样。

还有最后一个操作,我们括号里什么都不写,然后最后写-1。这就表示从0开始什么都取到,但是倒着取。

print(info[::-1])

到这里我们就把切片讲完了,可以自己多练习联系!

未经允许不得转载:445IT之家 » Python 字符串详解之切片

赞 (0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏