Laz*_*rks 3 python dictionary nested list multidimensional-array
如果我的任何术语有误,请纠正我.
我正在尝试检查python列表/字典中是否存在嵌套键.
例如,下面我根据请求库的.json()方法返回的列表/字典中是否存在该值的键来为变量赋值(从文档中不清楚它究竟返回的是什么).
这适用于检查jsonassoc列表/字典的第一维中是否存在键:
#works
is_oa = jsonassoc[u'is_oa'] if u'is_oa' in jsonassoc else ""
Run Code Online (Sandbox Code Playgroud)
但是,我不确定当它嵌套在第二个维度时如何检查密钥是否存在.
我试过了:
#doesn't work:
mendeley = jsonassoc[u'readers'][u'mendeley'] if u'readers'[u'mendeley'] in jsonassoc else "" enter code here
# neither does simply this
mendeley = jsonassoc[u'readers'][u'mendeley'] if u'mendeley' in jsonassoc else ""
Run Code Online (Sandbox Code Playgroud)
我怎样才能检查一下'mendeley'键,它在list/dict中看起来像这样?
readers: {
mendeley: '1',
citeulike: '3',
#etc.
}
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助!
beh*_*uri 12
使用字典.get方法:
d.get('key1',{}).get('key2')
Run Code Online (Sandbox Code Playgroud)
这样做你将绕过检查钥匙.