何でPythonにtrが無いのかずーっと不思議に思ってる。
引数順はre.subに沿って書いた。
最適化の余地はまだあるかな?

def tr(pattern, repl, string):
    m = dict(((p,r) for p,r in zip(pattern, repl)))
    return ''.join((m.get(c,c) for c in string))

print tr('lo', '_0', u'Hello, world')