11
优雅的方法来检查字典中是否存在嵌套键?
是否有更可读的方法来检查是否存在嵌入字典的键而无需独立检查每个级别? 可以说我需要在埋藏的对象中获取此值(示例取自Wikidata): x = s['mainsnak']['datavalue']['value']['numeric-id'] 为了确保不会以运行时错误结束,有必要检查每个级别,如下所示: if 'mainsnak' in s and 'datavalue' in s['mainsnak'] and 'value' in s['mainsnak']['datavalue'] and 'nurmeric-id' in s['mainsnak']['datavalue']['value']: x = s['mainsnak']['datavalue']['value']['numeric-id'] 我可以想到的另一种解决方法是将其包装到一个try catch结构中,对于这样一个简单的任务,我也觉得很尴尬。 我正在寻找类似的东西: x = exists(s['mainsnak']['datavalue']['value']['numeric-id']) True如果所有级别都存在,则返回。