【发布时间】:2017-06-17 18:27:00
【问题描述】:
为什么'a'.translate({'a':'b'}) 返回'a' 而不是'b'?我正在使用 Python 3。
【问题讨论】:
标签: python python-3.x
为什么'a'.translate({'a':'b'}) 返回'a' 而不是'b'?我正在使用 Python 3。
【问题讨论】:
标签: python python-3.x
使用的键是字符的序数,而不是字符本身:
'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.
【讨论】: