给定字典的具体内容(请参见下面的示例字典(,并基于用户输入,我需要匹配每个字母输入,然后键输出值。
。 。我能够获得我想要的输出,除了输入包含一个特殊字符时,它不会显示为输出(只有字母(。
这是示例词典:
dict1 = {'a':'q', 'b':'w', 'c':'e', 'd':'r', 'e':'t', 'f':'y', 'g':'u' ...}
我尝试了以下代码:
sentence = input("Enter a sentence:")
result = ''.join([dict1.get(x, ' ') for x in sentence])
print(result)
如果我输入:abc, de. f-g
输出:qwe rt yu
我想代替此输出: qwe, rt. y-q
可能吗?
〜编辑:在代码中找到了我的错误(被忽略了(。能够修复它。谢谢。
我建议使用:
result = ''.join([ dict1[x] if x in dict1 else x for x in sentence])
尝试以下:
for k in dict1:
sentence = sentence.replace(k, dict1[k])
输出:
'qwt, rt. y-u'
在Python3.8中,您可以使用海象操作员尝试此列表理解:
sentence = [sentence:=sentence.replace(k, dict1[k]) for k in dict1][-1]
输出:
'qwt, rt. y-u'