如果字典中未声明字符,则如何输出用户输入的特殊字符



给定字典的具体内容(请参见下面的示例字典(,并基于用户输入,我需要匹配每个字母输入,然后键输出值。

。 。

我能够获得我想要的输出,除了输入包含一个特殊字符时,它不会显示为输出(只有字母(。

这是示例词典:

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'

最新更新