【发布时间】:2016-07-28 23:12:37
【问题描述】:
我想用dict创建的字典来替换字符向量中的字母,如下
import string
trans1 = str.maketrans("abc","cda")
trans = dict(zip("abc","cda"))
out1 = "abcabc".translate(trans1)
out = "abcabc".translate(trans)
print(out1)
print(out)
想要的输出是"cdacda"
我得到的是
cdacda
abcabc
现在out1 是所需的输出,但out 不是。我不知道为什么会这样。如何在translate 函数中使用通过dict 创建的字典?那么如果我想将translate 与trans 一起使用,我需要更改什么?
【问题讨论】:
-
您能否在运行代码时向我们展示您的输出。有什么例外吗?我问是因为您的代码,如上所示,运行不正常。
-
我认为你的意思是做
string.maketrans("abc","cda"),它肯定不会返回与dict(zip("abc","cda"))相同的东西 -
@MagnunLeno 我添加了输出
-
问题是字典没有做正确的翻译:字符没有转换成它们的ASCII码。
-
@cricket_007 是的,输出不同(请参阅编辑后的帖子),但我想知道如何使用 dict 版本实现相同的效果。那么如何让
out与out1相同