python新手,所以希望能得到一些帮助。尝试构建一个函数(到目前为止很遗憾失败),其目的是从单词中删除指定的字母,然后返回结果。
例子:
word_func('鸟', 'b')
然后返回的结果将给出 'ird' 并删除 b。
我重新开始的功能是:
def word_func('单词', '字母'):
任何帮助,将不胜感激。我想我在脑海里把这件事复杂化了。
python新手,所以希望能得到一些帮助。尝试构建一个函数(到目前为止很遗憾失败),其目的是从单词中删除指定的字母,然后返回结果。
例子:
word_func('鸟', 'b')
然后返回的结果将给出 'ird' 并删除 b。
我重新开始的功能是:
def word_func('单词', '字母'):
任何帮助,将不胜感激。我想我在脑海里把这件事复杂化了。
如何使用replace()
:
>>> def word_func(word, letter):
... return word.replace(letter, '')
...
>>> word_func('bird', 'b')
'ird'
Python 中的所有字符串都有一个replace
函数。
>>> 'bird'.replace('b', '')
'ird'
如您所见,哪些功能非常类似于删除字母(或一系列字母)
>>> 'bird'.replace('bi', '')
'rd'
但是如果你只想删除字母的第一个实例,或者字母的第一个n
实例,你可以使用第三个参数,
>>> 'this is a phrase'.replace('s','') # remove all
'thi i a phrae'
>>> 'this is a phrase'.replace('s','',1) # remove first
'thi is a phrase'
>>> 'this is a phrase'.replace('s','',2) # remove first 2
'thi i a phrase'
你甚至可以使用一些技巧从最后删除,并反转字符串。
>>> 'this is a phrase'[::-1].replace('s','',2)[::-1] # remove last 2
'this i a phrae'
def word_func(word, letter):
return "".join(map(lambda x: x if x !=letter else "",word))
if __name__ =="__main__":
word = "bird"
letter = "r"
print word_func(word, letter)
印刷:
出价
或者您可以使用过滤器并加入 lambda:
def word_func(word, letter):
return filter(lambda x: x !=letter, word)
不需要加入输出,因为:
如果 iterable 是字符串或元组,则结果也具有该类型