gpt4 book ai didi

python - 如何将 python "get()"用于比第一级字典键更深的键?

转载 作者:太空狗 更新时间:2023-10-30 00:31:31 25 4
gpt4 key购买 nike

我有一个超过 2 级的 python 字典,像这样:

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')

将返回

但是如果'keyB_3'不存在

dict.get('keyB_1').get('keyB_2').get('keyB_3')

将返回 AttributeError: 'NoneType' object has no attribute 'get' 而不是 None

简单地对 'keyB_3' 执行相同的操作会很棒,如果所有父键及其键都存在,它会返回值,否则返回 None。有什么建议吗?

最佳答案

您可以将默认值作为第二个参数传递给 dict.get(),如下所示:

dict.get('keyB_1', {}).get('keyB_2', {}).get('keyB_3')

关于python - 如何将 python "get()"用于比第一级字典键更深的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37382156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com