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

时间:2013-05-10 02:42:18

标签: python translation translate

我正在尝试将单个整数输入转换为多个整数输出,并且我正在使用transtab函数。例如,

intab3 = "abcdefg"
outtab3 = "ABCDEFG"
trantab3 = maketrans(intab3, outtab3)

是我正在做的最基本的版本。我希望能够做的是输入是一个字母,输出是多个字母。如下所示:

intab4 = "abc"
outtab = "yes,no,maybe" 

但逗号和引号不起作用。 它一直在说:

  

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

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

2 个答案:

答案 0 :(得分:1)

你可以在这里使用词典:

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

答案 1 :(得分:1)

在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'