需要制作像.lstrip这样的函数

时间:2013-10-19 00:56:45

标签: python-3.3

我需要创建像.lstrip这样的函数。我已经完成了一个计算字母出现次数的函数。这个功能可以用来帮我完成这个功能,我将其称为* my_lstrip *?我唯一的问题是如何从字符串中删除一个字母/单词,我想不出任何办法......

只是刷新任何人的记忆:lstrip删除字符串的前导出现。

我认为索引不是一个选择,但我仍然在想,任何人的帮助都会受到赞赏。我已经完成了像长度,计数和查找这样的功能,如果这些功能的任何组合都可以在这里使用那么棒!如果您需要进一步的信息,请告诉我,谢谢。如果我想出任何东西,我会发布代码,以便其他人可以检查它并看到我的错误。

1 个答案:

答案 0 :(得分:0)

由于Python中的字符串是不可变的,因此无法从字符串中删除任何内容。你可以做的是创建新的字符串并省略一些主要字符,例如:

def my_lstrip(p, s):
     """Remove leading occurences of p from s
     Keyword arguments:
     p - pattern to remove
     s - input string

     >>> my_lstrip('f', 'foo')
     'oo'
     >>> my_lstrip('foo', 'foobar')
     'bar'
     >>> my_lstrip('foo', 'foofoofoobar')
     'bar'
     >>> my_lstrip('o', 'ooooofoo')
     'foo'
     >>> my_lstrip('fooo', 'foo')
     'foo'
     >>> my_lstrip('bar', 'foo')
     'foo'
     """
     return  my_lstrip(p, s[len(p):]) if s.startswith(p) else s

它可以更有效地完成(每次你得到一个匹配时都不会创建新的字符串)但是我会把它作为练习留给你。