Python 使用bytes.translate进行罗马化

Python 使用bytes.translate进行罗马化,python,python-3.x,Python,Python 3.x,我用url罗马化()编写了一个开源项目,我希望每个人都能正常工作 我想把不止一封信翻译成另一封信 这是一个基本的例子: 我想把切切维卡翻译成,这是迪克特 { 'ч': 'ch', 'е': 'e', 'в': 'v', 'и': 'i', 'ц': 'c', 'а': 'a' } 我可以不用ch来做,因为使用maketrans我只能发送一封信 # Pytnon 3 >>> print('чечевица'.translate(

我用url罗马化()编写了一个开源项目,我希望每个人都能正常工作

我想把不止一封信翻译成另一封信

这是一个基本的例子: 我想把切切维卡翻译成,这是迪克特

{
    'ч': 'ch',
    'е': 'e',
    'в': 'v',
    'и': 'i',
    'ц': 'c',
    'а': 'a'
}
我可以不用ch来做,因为使用maketrans我只能发送一封信

# Pytnon 3 
>>> print('чечевица'.translate(bytes.maketrans('евица', 'evica')))
чeчevica
如何在Python 3中使用
translate
将一个或多个字母替换为一个或多个字母

是的,我知道iconv等,但所有语言​​他们有自己的写作规则,我想遵守他们的规则

谢谢

Python文档

  • 翻译
  • 马克特朗
  • ord,chr

  • 你不能。该功能只进行一对一的替换。您将不得不使用其他方法。@Max,但我认为,如果我使用
    re
    str.replace
    可能比
    translate
    慢。。。还是不?是的,但会的。如果您想要原始速度,请不要使用python。Translate用其他字节替换字节,一对一。它可以如此之快,因为它已经知道输出字符串的大小,表的大小是固定的,等等。