Python 3.x 如何使用迭代器访问多级dict-python?

Python 3.x 如何使用迭代器访问多级dict-python?,python-3.x,dictionary,iterator,Python 3.x,Dictionary,Iterator,我有一个dict/json: data={ "paraview": { "3.5": { "image": "/data/singularity/containers/paraview_5.5.2.simg", "recipe": "/data/singularity/YAJE/yaje/paraview/Singularity.5.5.2", "source": "packet" }, "5.5.2": {

我有一个dict/json:

data={
"paraview": {
    "3.5": {
        "image": "/data/singularity/containers/paraview_5.5.2.simg",
        "recipe": "/data/singularity/YAJE/yaje/paraview/Singularity.5.5.2",
        "source": "packet"
    },
    "5.5.2": {
        "image": "/data/singularity/containers/paraview_5.5.2.simg",
        "recipe": "/data/singularity/YAJE/yaje/paraview/Singularity.5.5.2",
        "source": "packet"
    }
  }
}
我可以通过以下方式找到一个值:

app ="paraview"
version= "3.5"

if app in data:
   if version in data[app]:
       print("ubucacion: {}".format(data[app][version]['image']))
输出:

ubucacion: /data/singularity/containers/paraview_5.5.2.simg
但是,对于非常大的dicts,我如何使用iteratos实现它呢?

您的意思是:

for i in [(app,version), (app,version)]:
    if i[0] in data and i[1] in data[i[0]]: # secondhalf of and statement won't run if first half is false
        print("ubucacion: {}".format(data[i[0]][i[1]]['image']))

我不知道你的意思是什么,我很乐意帮忙,你想通过sevral循环吗quaries@JonasWolff,我需要的是使用一些固定值进行单个查询,但我担心如果字典增长很多,它在响应时间上会出现问题。这就是为什么我认为我应该做一些更有效的事情。CIONAL使用哈希,所以我不认为大小是一个真正的问题