Python中的单整数到多整数转换

Python中的单整数到多整数转换,python,translation,translate,Python,Translation,Translate,我正在尝试将单个整数输入转换为多个整数输出,目前正在使用transtab函数。比如说, intab3 = "abcdefg" outtab3 = "ABCDEFG" trantab3 = maketrans(intab3, outtab3) 是我正在做的最基本的版本。我希望能够做到的是,输入是一个字母,输出是多个字母。比如: intab4 = "abc" outtab = "yes,no,maybe" 但逗号和引号不起作用。 它一直在说: ValueError:maketrans参数必须具

我正在尝试将单个整数输入转换为多个整数输出,目前正在使用transtab函数。比如说,

intab3 = "abcdefg"
outtab3 = "ABCDEFG"
trantab3 = maketrans(intab3, outtab3)
是我正在做的最基本的版本。我希望能够做到的是,输入是一个字母,输出是多个字母。比如:

intab4 = "abc"
outtab = "yes,no,maybe" 
但逗号和引号不起作用。 它一直在说:

ValueError:maketrans参数必须具有相同的长度


我是否应该使用更好的功能?谢谢,

您可以在此处使用dict:

>>> dic = {"a":"yes", "b":"no", "c":"maybe"}
>>> strs = "abcd"
>>> "".join(dic.get(x,x) for x in strs)
'yesnomaybed'

在python3中,
str.translate
方法得到了改进,因此它可以正常工作

>>> intab4 = "abc"
>>> outtab = "yes,no,maybe"
>>> d = {ord(k): v for k, v in zip(intab4, outtab.split(','))}
>>> print(d)
{97: 'yes', 98: 'no', 99: 'maybe'}
>>> 'abcdefg'.translate(d)
'yesnomaybedefg'