【发布时间】:2017-10-05 23:10:39
【问题描述】:
我已经问过一个完全一样的问题,但我得到的答案仍然有效,它在函数中使用了 .translate 方法,但我想使用“for 循环”来获得我正在寻找的输出。这是我刚才问的问题的链接:How can I replace multiple characters in a string using python?
我在弄清楚如何使用 for 循环替换字符串中的多个字符时遇到了一些麻烦。我正在尝试编写一个名为 replace(string) 的函数,该函数接受输入,并将输入中的某些字母替换为另一个字母。
假设我有字符串“WXYZ”,我想用 Y 替换所有 W,用 Z 替换 X,用 W 替换 Y,用 X 替换 Z。无论输入是什么,我都希望它进行替换。因此,如果我也执行 replace("WWZXWWXYYZWYYY") 之类的操作,它应该像我上面所说的那样替换字母。
这是我到目前为止使用 for 循环所做的:
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的内置函数。
我怎样才能做到这一点?
【问题讨论】:
-
您正在寻找 translate 方法。
-
字面意思是重复,相同的要求,相同的尝试,相同的措辞,相同的用户...
-
是的,它是同一个,但我需要使用“for循环”的函数来获得我正在寻找的输出。
-
@Gin,请编辑您的问题并添加指向您之前关于此主题的问题的链接。你还应该清楚你的新问题有什么不同。否则你会浪费很多人的时间,这是不公平的。
-
@ekhumoro,我编辑了帖子,很抱歉造成混乱。
标签: python python-3.x