3 回答
TA贡献1796条经验 获得超4个赞
你可以试试这个。如果对象是dictisinstance(object,dict)则返回。我们必须找到作为值映射到键的字典。首先使用 . 检查给定字典是否具有as 值。如果不是,则遍历值,如果该值是字典,则再次重复上述过程。如果存在,则返回我们正在迭代的当前字典。Truecat_idcat_iddict.values()cat_id
In [90]: cat_data
Out[90]:
{'senior-developer': {'name': 'senior-developer',
'displayName': 'Senior Developer',
'uuid': '418714f8-b3bd-4ba5-b4a7-4f87717419f4',
'mid-level-developer': {'name': 'mid-level-developer',
'displayName': 'Mid-level Developer',
'uuid': 'a2c23d62-9d06-44f4-92dc-b28875173a54'}}}
In [91]: cat_id = "a2c23d62-9d06-44f4-92dc-b28875173a54"
In [94]: def recur(_dict,val):
...: if val in _dict.values():
...: return _dict
...: else:
...: for v in _dict.values():
...: if isinstance(v,dict):
...: return recur(v,val)
In [95]: recur(cat_data,cat_id)
Out[95]:
{'name': 'mid-level-developer',
'displayName': 'Mid-level Developer',
'uuid': 'a2c23d62-9d06-44f4-92dc-b28875173a54'}
In [96]: retrived_cat=recur(cat_data,cat_id)
In [97]: retrived_cat
Out[97]:
{'name': 'mid-level-developer',
'displayName': 'Mid-level Developer',
'uuid': 'a2c23d62-9d06-44f4-92dc-b28875173a54'}
TA贡献1796条经验 获得超7个赞
isinstance(myObject,dict).
例如:
isinstance({},dict)返回真,而
isinstance([],dict)
返回 False
TA贡献1789条经验 获得超8个赞
if is_instance(slug, _dict): search_for_cat_id(cat_id, _dict[slug])
只需在 return 语句下面添加这个
添加回答
举报
