我试图以以下方式替换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