Python 即使字典中不存在键,也要继续

Python 即使字典中不存在键,也要继续,python,python-2.7,dictionary,Python,Python 2.7,Dictionary,我的应用程序从json对象加载一些参数,而json对象又被解释为字典。我将几个类变量设置为键的值,例如 try: self.a = mydict["field_a"] self.b = mydict["field_b"] self.c = mydict["field_c"] 根据json文件(我从中获得了几个不同的对象),有时字典将不包含键“field_b”。这无关紧要,所以我处理keyrerror异常,然后继续程序流程 现在,当一个KeyError发生时,如果“field_

我的应用程序从json对象加载一些参数,而json对象又被解释为字典。我将几个类变量设置为键的值,例如

try:
   self.a = mydict["field_a"]
   self.b = mydict["field_b"]
   self.c = mydict["field_c"]
根据json文件(我从中获得了几个不同的对象),有时字典将不包含键“field_b”。这无关紧要,所以我处理
keyrerror
异常,然后继续程序流程

现在,当一个
KeyError
发生时,如果“field_b”不存在,它会跳出并跳过对“field_c”的检查。如果(key[“key”]不是None):在提取数据之前,如何强制python检查所有字段,而不需要大量的

使用:

如果(key[“key”]不是None
,则默认值将是None,似乎与
匹配,如果您想要不同的默认值,只需将您想要的任何值作为默认值传递给第二个参数,以获取
mydict.get(“field_a”,“whatever”)

如果您想保持self.a等的状态,如果它们没有出现在dict中,请将其用作默认值:

 self.a = mydict.get("field_a", self.a )

使用
dict.get()
它会返回
None
如果密钥不存在,而不是抛出
KeyError
@AnandSKumar是的,我会接受这个答案。非常简单,那么容易,嗯。10分钟后就会接受答案。是的,那么容易,毕竟是python;)来自嵌入式C,我继续感到惊讶。
 self.a = mydict.get("field_a", self.a )