Я реализовал версию функции str_replace, доступную в php, используя python. Вот мой оригинальный код, который не работал
def replacer(items,str,repl):
return "".join(map(lambda x:repl if x in items else x,str))
test = "hello world"
print test
test = replacer(test,['e','l','o'],'?')
print test
но это печатает
hello world
???
код, который я должен сделать, как и ожидалось,
def replacer(str,items,repl):
x = "".join(map(lambda x:repl if x in items else x,str))
return x
test = "hello world"
print test
test = replacer(test,['e','l','o'],'?')
print test
который печатает
hello world
h???? w?r?d
как я и хотел.
Помимо того факта, что, вероятно, есть способ использовать встроенные функции, которого я еще не видел, почему первый способ дает сбой, а второй делает то, что мне нужно?