如何避免字典oneliner中的KeyError

时间:2020-01-12 22:59:57

标签: python python-3.x dictionary

我想编写一个单行编码器,但如果要编码的消息的字母之一不在词典中,则会出现KeyError,我将如何避免这种情况?

def morse_encode(text, code_table):
    return ' '.join(code_table[letter.upper()] for letter in text)

在那个特定的code_table字典中没有定义空格键(或空格),但是我想代替Error而不是Error。

1 个答案:

答案 0 :(得分:2)

如果在字典中,您可以使用.get(key, default)返回键,否则返回默认值。

例如

<input id="guessInput" />
<p id="outputParagraph"></p>

对于您的代码:

d = {"a":"1", "b":"2"}
d.get("c") # None
d.get("d", "does not exist") # does not exist