[英]How to get a dictionary and all its elements by key?
我有這樣的結構:
{
"content": "Name 1",
"name": "directory",
"decendent": [
{
"content": "Name 2",
"name": "subdirectory",
"decendent": None
},
{
"content": "Name 3",
"name": "subdirectory_two",
"decendent": [
{
"content": "Name 4",
"name": "subsubdirectory",
"decendent": None
}
]
}
]
}
我必須查找名稱(名稱是一個字符串並且是唯一的),如果找到它,則將整個詞典保存在其他變量中。 例如:
我正在尋找“子目錄”,我應該得到:
{
"content": "Name 2",
"name": "subdirectory",
"decendent": None
}
並將其保存在變量中。
如何在Python中執行此搜索?
您可以使用遞歸函數檢查當前詞典的名稱,如果該名稱匹配,則返回該詞典,否則嘗試“后代”(如果有),如果匹配則返回。
def find_name(d, name):
if d["name"] == name:
return d
for d2 in d["decendent"] or []:
res = find_name(d2, name)
if res:
return res
例:
>>> dictionary = { your dictionary }
>>> print find_name(dictionary, "subdirectory")
{'content': 'Name 2', 'name': 'subdirectory', 'decendent': None}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.