【发布时间】:2020-02-05 19:52:10
【问题描述】:
给定一个uuid,我想查找并返回包含uuid 和与之关联的数据的dict。我写了一个测试来描述预期的结果。
def test_search_for_cat():
cat_id = "a2c23d62-9d06-44f4-92dc-b28875173a54"
cat_data = {
"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",
},
}
}
retreived_cat = search_for_cat(cat_id, cat_data)
assert retreived_cat == {
"name": "mid-level-developer",
"displayName": "Mid-level Developer",
"uuid": "a2c23d62-9d06-44f4-92dc-b28875173a54",
}
我已经开始编写一个函数来搜索正确的类别。
def search_for_cat(cat_id, cat_data):
if isinstance(cat_data, dict):
for slug, data in cat_data.items():
if data["uuid"] == cat_id:
return data
但我在递归部分苦苦挣扎。当uuid 与给定的cat_id 不匹配时,如何找到带有dict 的键以传递给递归函数?
【问题讨论】:
-
你可以使用
isinstance(object,dict)返回True是对象是一个字典。
标签: python python-3.x dictionary recursion