我正在通过在线Python课程中的简单练习 - 一个名为“censor”的练习需要2个输入,一个句子和一个单词 - 然后返回句子,并将所有给定单词的实例替换为星号。每次替换中的星号数等于原始单词中的字符数。为简单起见,练习假定不需要输入错误检查。我的代码有效,但我想知道它是否可以提高效率?:
def censor(text, word):
textList = text.split()
for index, item in enumerate(textList):
count = 0
if item == word:
for char in word:
count += 1
strikeout = "*" * count
textList[index] = strikeout
result = ' '.join(textList)
return result
答案 0 :(得分:7)
字符串对象上已有一个函数可以执行此操作:
def censor(text,word):
return text.replace(word, "*"*len(word))