为什么';在Python3中翻译工作?

为什么';在Python3中翻译工作?,python,python-3.x,Python,Python 3.x,为什么'a'.translate({'a':'b'})返回'a',而不是'b'?我使用的是Python 3。使用的键是字符的序号,而不是字符本身: 'a'.translate({ord('a'): 'b'}) 更容易使用str.maketrans 翻译(str.maketrans('a','b')) “b” >>>帮助(str.translate) 有关方法\u描述符的帮助: 翻译(…) S.translate(表)->str 返回字符串S的副本,其中所有字符都已映射 通过给定的转换表,该表必

为什么
'a'.translate({'a':'b'})
返回
'a'
,而不是
'b'
?我使用的是Python 3。

使用的键是字符的序号,而不是字符本身:

'a'.translate({ord('a'): 'b'})
更容易使用
str.maketrans

翻译(str.maketrans('a','b')) “b” >>>帮助(str.translate) 有关方法\u描述符的帮助: 翻译(…) S.translate(表)->str 返回字符串S的副本,其中所有字符都已映射 通过给定的转换表,该表必须是 Unicode序数到Unicode序数、字符串或无。 未映射的字符保持不变。映射到“无”的字符 已删除。
只有一个键需要是序号():(jamylak发布maketrans时,我是否错过了这个键?请使用来自