如何从python中的字符串中删除字母。 例如,我有单词“ study”,我将有一个类似“ tudy”,“ stdy”,“ stuy”,“ stud”的列表。 我必须使用
之类的东西 for i in range(len(string)):
sublist.append(string0.replace(string[i], ""))
效果很好。但是,如果我更改单词“ studys”,当它用“”替换s时,两个s将会消失并且不再起作用(研究改为研究/研究)。我需要帮助
答案 0 :(得分:3)
这里是一个:
s = 'studys'
lst = [s[:index] + s[index + 1:] for i in range(len(s))]
print(lst)
输出:
['tudys', 'sudys', 'stdys', 'stuys', 'studs', 'study']
说明:
您的代码无法正常工作,因为replace
会找到单词中所有出现的字符,并将其替换为所需的字符。现在,您可以按照注释中的建议指定要替换的计数数量,但是即使替换,也要从头开始检查字符串。因此,如果您说的是string.replace('s','',1)
,它将从头开始检查字符串,一旦找到第一个's'
,它将用''
替换并中断,因此您不会得到删除当前索引处字符的预期效果。