我在弄清楚如何替换一个字符串中的多个字符时遇到了一些困难。我试图编写一个名为replace(string)的函数,它接受一个输入,并用另一个字母替换输入中的某些字母。在
假设我有一个字符串“WXYZ”,我想用Y替换所有的W,用Z替换X,用W替换Y,用X替换Z,不管输入是什么,我都希望它进行替换。所以,如果我也做一些类似replace(“wwzxwxyyzwyyy”)的操作,它应该像我上面说的那样替换字母。在
这是我目前所做的:
def replace(string):
for letters in string:
string = string.replace("W","Y").replace("X","Z").replace("Y","W").replace("Z","X")
print(string)
但当我用replace(“WXYZ”)运行它时
我得到的代码输出为:WXWX
而不是将YZWX作为输出。我还想使用python的内置函数。有人能帮我弄明白吗,谢谢!在
请注意,您的调用的结构是这样的:在第一个调用中,}替换为{},撤消第一个调用的输出。在
W
被替换为Y
,然后在第三个调用中将{您应该使用
str.translate
,它比一堆链式replace
调用更高效、更健壮:^{2}$
相关问题 更多 >
编程相关推荐