从字典映射中替换字符串中的字符

Nic*_*ckG 1 python string dictionary replace

我是python的新手,所以如果我错过了一个明显的内置函数,请原谅我.

我有一个我生成的字典映射,如下所示:

dictionary = dict(zip(restAlphaSet,list(item)))
Run Code Online (Sandbox Code Playgroud)

其中restAlpha设置一个字符串,list(item)是列表转换的迭代

我试图用它来替换我的字符串中的所有字符.我在网上找到了一个replaceAll函数,如下所示:

def replace_all(text, dic):
for i, j in dic.iteritems():
    if i != j:
        text = text.replace(i, j)
return text
Run Code Online (Sandbox Code Playgroud)

不幸的是,这是有缺陷的,好像映射有a-> b,b-> a,然后什么都不会改变,因为b将被改变回a.

我找到了translate函数,但它不接受字典输入.

luk*_*ree 6

翻译速度更快.

>>> import string
>>> text.translate(string.maketrans("".join(restAlphaSet),"".join(item)))
Run Code Online (Sandbox Code Playgroud)