为什么不str.translate在Python 3中的工作?
为什么'a'.translate({'a':'b'})
返回'a'
而不是'b'
? 我正在使用Python 3。
使用的键是字符的序号,而不是字符本身:
'a'.translate({ord('a'): 'b'})
使用str.maketrans
更容易
>>> 'a'.translate(str.maketrans('a', 'b')) 'b' >>> help(str.translate) Help on method_descriptor: translate(...) S.translate(table) -> str Return a copy of the string S, where all characters have been mapped through the given translation table, which must be a mapping of Unicode ordinals to Unicode ordinals, strings, or None. Unmapped characters are left untouched. Characters mapped to None are deleted.