我正在尝试将单个整数输入转换为多个整数输出,并且我正在使用transtab函数。例如,
intab3 = "abcdefg"
outtab3 = "ABCDEFG"
trantab3 = maketrans(intab3, outtab3)
是我正在做的最基本的版本。我希望能够做的是输入是一个字母,输出是多个字母。如下所示:
intab4 = "abc"
outtab = "yes,no,maybe"
但逗号和引号不起作用。 它一直在说:
ValueError:maketrans参数必须具有相同的长度
我应该使用更好的功能吗?谢谢,
答案 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'