python中strip()函数的理解

1、strip()函数

函数原型
声明:s为字符串,rm为要删除的字符序列
s.strip(rm) :删除s字符串中开头、结尾处,位于 rm删除序列的字符
s.lstrip(rm) :删除s字符串中开头处,位于 rm删除序列的字符
s.rstrip(rm) :删除s字符串中结尾处,位于 rm删除序列的字符

现在来分析s.strip(rm)这个函数。

  • 现在假设s=‘abcd’
    则 s.strip(‘bd’)————->’abc’
  • 而s.strip(‘ba’)和s.strip(‘ab’)的结果是一样的,都是’cd’
  • 而s.strip(‘bd’)得到的结果是’abc’,于是我就不理解了
  • 于是我继续尝试,发现s.strip(‘bac’)———->’d’

很多博客都是这样说明了下,然后就没有然后了,都没有解释到底是怎么工作的,为什么会产生这样的原因,不知是过于简单所以别人都没有进行讲解还是我过于笨拙,没能理解。

产生这样的原因我的理解如下:s.strip(rm)首先检查字符串s中的首尾字符是否在rm中,如存在则将字符从中删除,并用删除字符后的字符串继续检查首尾字符是否出现在rm中,如此下去,并返回最后的结果。
上面可能说的比较抽象,以上面的例子 s.strip(‘ba’)为例,经历了几下几步

  • 第一步:字符串s=‘abcd’先检查其首尾字符是否出现在rm=’ba’中,发现首字符’a’存在于rm=’ba’中,于是将’abcd’中的’a’字符从中删除,得到’bcd’字符串
  • 第二步:再继续检查所得字符串’bcd’的首尾字符是否出现在rm=’ba’中,发现首字符’b’存在,则将’bcd’中的字符’b’从中删除,得到’cd’字符串
  • 第三步:再继续检查所得字符串’cd’中的首尾字符是否小狐仙在rm=’ba’中,发现没有,则将其返回,结束。

个人愚见,不知正确与否,若不正确,欢迎批评指正

  • 18
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值