处理不存在的 Python 字典键的 Pythonic 方法

usp*_*pow 0 python json dictionary

我正在使用一个返回 JSON 对象的 API,我可以轻松地将其转换为字典。我们将转换后的 JSON 到 dict 对象称为 JSON_API_ITEM。

但是,有时 JSON_API_ITEM 没有某些字段(例如 url)。该字段根本不存在,而不是将该字段设置为“无”,因此当我进行分配时:

url = JSON_API_ITEM['url']
Run Code Online (Sandbox Code Playgroud)

我的程序抛出异常。我想过在 dict.keys() 中使用 for 循环,或者将所有内容放在 try 或 if 块中,但这将使我的代码变得非常难看。

处理这样的事情的Pythonic方法是什么?

Mar*_*cin 5

您可以使用获取方法。

my_item.get('url',None) # None is default in case url key does not exist.
Run Code Online (Sandbox Code Playgroud)

编辑:

我取消删除我的答案,因为在OP编辑之后,很明显问题是关于从字典中获取价值,而不是关于分配。