我需要创建像.lstrip这样的函数。我已经完成了一个计算字母出现次数的函数。这个功能可以用来帮我完成这个功能,我将其称为* my_lstrip *?我唯一的问题是如何从字符串中删除一个字母/单词,我想不出任何办法......
只是刷新任何人的记忆:lstrip删除字符串的前导出现。
我认为索引不是一个选择,但我仍然在想,任何人的帮助都会受到赞赏。我已经完成了像长度,计数和查找这样的功能,如果这些功能的任何组合都可以在这里使用那么棒!如果您需要进一步的信息,请告诉我,谢谢。如果我想出任何东西,我会发布代码,以便其他人可以检查它并看到我的错误。
答案 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
它可以更有效地完成(每次你得到一个匹配时都不会创建新的字符串)但是我会把它作为练习留给你。