我试图以以下方式替换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中的术语的方法

最佳答案

字符串在Python中是不可变的,您的replace函数无法就地运行,但会返回一个新字符串。因此,您需要重新分配结果:

descriptionsearch = replace(descriptionsearch, replc)
print descriptionsearch

08-04 19:31