【发布时间】:2015-12-24 18:45:04
【问题描述】:
我有一本字典,其中包含表示字母的键和值。
例如一个简单的:
DICT_CODE = {'b' : 'g', 'n' :'a', 'p' : 'o', 'x' : 'd', 't' : 'y'}
我收到了一个加密代码并将字符串转换为一个列表,其中每个项目都是一个单词。我需要根据字典里的项目来解决它。
代码示例如下:
words_list = ["bppx","xnt!"] # "good day!"
我尝试通过使用双 for 循环来解决它,如下所示:
for word in words_list:
for char in word:
if char in string.letters:
word = word.replace(char, DICT_CODE.get(char))
print words_list
预期输出 -> ["good","day!"]
输出 -> ["bppx","xnt!"]
它根本不起作用。字符保持不变,代码仍然未知。 我不明白为什么它不起作用,如果有人有时间查看并尝试帮助我看看有什么问题,或者甚至提出更好的方法(有效)。
【问题讨论】:
-
print word_list将打印您在上面声明的word_list。 -
[''.join(DICT_CODE.get(c, c) for c in s) for s in word_list]
标签: python python-2.7 dictionary encryption replace