无法用字典中的新值替换字符串

时间:2015-03-25 15:52:28

标签: python string dictionary replace

我正在尝试以下列方式替换raw_input string中的字符:

descriptionsearch - raw_input('text')

def replace(text, dic):
    for i, j in dic.iteritems():
    text = text.replace(i, j)
    return text

replc = {' ': '', 'or': '=', 'and': '==', ',': '=', '+': '=='}

replace(descriptionsearch, replc)
print descriptionsearch

目前,当我raw_input“猫或狗”时,它会返回完全相同的“猫或狗”。

我不确定为什么这段代码不起作用:我非常感谢您解释如何修复我目前使用的代码或更有效地替换来自raw_input

的条款

1 个答案:

答案 0 :(得分:1)

字符串在Python中是不可变的,并且您的replace函数不能就地工作,但会返回一个新字符串。所以你需要重新分配结果:

descriptionsearch = replace(descriptionsearch, replc)
print descriptionsearch