【发布时间】:2016-07-23 11:06:27
【问题描述】:
我一直在使用字典对随机字符串集进行编码。我已经得到了替换我想要的字母的代码,但在某些情况下,它会多次替换一个字符,而我真的只希望它替换字符串中的字母一次。这就是我所拥有的:
def encode(msg,code):
for i in msg:
for i in code:
msg = msg.replace(i, code[i])
return msg
出于测试目的,我使用了函数调用: 首字母:
encode("blagh", {"a":"e","h":"r"})
还有一个更复杂的字符串:
encode("once upon a time",{'a':'ae','e':'ei','i':'io','o':'ou','u':'ua'})
对于上面的第二个,我正在寻找以下输出: 'ouncei uapoun ae tiomei'
但我发现自己有:
"ounceio uapoun aeio tiomeio"
如何将循环限制为仅替换每个字符一次?
【问题讨论】:
标签: python string loops dictionary encoding