【问题标题】:Finding specific key in a large nested dictionary在大型嵌套字典中查找特定键
【发布时间】:2021-11-03 06:42:08
【问题描述】:

我有多个这种格式的 python 字典,其中顶级键“3224987”、“3590845”等不是恒定的,它们因字典而异。

dict1 = {
            "3224987": {
                "data": {
                    "skyscrapers":[]
                }
            },
            "3590845":{
                "data":{
                    "bungalows": {
                        "loc": "leo"
                    }
                }
            },
            ...
            "3405901":{
                "data":{
                    "studio":{
                        "rooms": {}
                    }
                }
            }
        }

dict2 = {
            ...,
            "784939":{
                "data":{
                    "studio":{
                        "rooms":{}
                    }
                }
            }
}

我对 "studio" 键中的项目感兴趣,在上面的字典中我可以使用 dict1["3405901"]["data"]["studio"] 找到它们,但在其他字典中它可以有不同的顶级键,例如 @987654323 @。 如何在多个字典 (dictX) 中迭代地执行此操作,而不用担心顶级键?

谢谢

【问题讨论】:

    标签: python-3.x dictionary


    【解决方案1】:

    如果您有很多键并且不确定它们是否包含“数据”和“工作室”,您可以使用 try/except:

    dict_list = [dict1, dict2...]
    
    for dic in dict_list:
        for key in dic:
            try:
                studio = dic[key]["data"]["studio"]
                # do your stuff with studio
            except KeyError:
                continue
    

    【讨论】:

      猜你喜欢
      • 2020-02-16
      • 2013-09-20
      • 2019-08-22
      • 1970-01-01
      • 2014-05-18
      • 2021-02-28
      • 2011-02-01
      • 1970-01-01
      • 2017-12-05
      相关资源
      最近更新 更多