我有一个Python字典,有超过2个层级,类似于这样:
dict = {'keyA_1':'valueA_1', 'keyB_1': {'keyB_2':{'keyB_3':'valueB_3'}}}
我希望能提取出"keyA_1"和"keyB_3"的值,但是我的代码中,我不想使用一堆"try/except KeyError"来检查错误,因为我有成千上万对键值对。相反,如果键不存在,只需返回None即可。我找到的一个解决方案是使用Python的"get()"方法。这个方法在第一层键值对中运行得很好。
例如,如果"keyA_1"不存在:
dict.get('keyA_1')
将返回None
但如果'keyB_3'
不存在
dict.get('keyB_1').get('keyB_2').get('keyB_3')
当父密钥或其密钥不存在时,应返回None
而不是AttributeError: 'NoneType' object has no attribute 'get'
如果所有父键和它的键存在,则可以简单地对'keyB_3'
执行相同的操作,返回该值,否则返回None
。有什么建议吗?