一个切片小程序的插曲

利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:

一开始没什么头绪,想着要怎么能确定两头空格的个数呢?python中的for循环又不计数,不好弄啊。

好吧还是看了别人的解法:既然不好确定两头空格的个数,就一个空格一个空格的从两边消除!!!

然后写的程序如下

def trim(s):
    while s[0]==' ':
        s=s[1:]
    while s[-1]==' ':
        s=s[:-1]
    return s

果然报错

 错误原因:当s为空时,即表明字符串中没有元素,因此s[0]指向第一个元素时就会超出范围

解决:切片操作是不会超出索引范围的,所以改用了全切片的格式。

def trim(s):
    while s[:1]==' ':
        s=s[1:]
    while s[-1:]==' ':
        s=s[:-1]
    return s

就OK啦!

猜你喜欢

转载自blog.csdn.net/Zeke_Leeeee/article/details/87824780
今日推荐